/* * Cloneable.h * * Created on: Apr 12, 2011 * Author: jakob */ #ifndef CLONEABLE_H_ #define CLONEABLE_H_ namespace vhc { /** Une classe de base pour tout objet cloneable polymorphiquement. * Cette classe declare un constructeur de copie virtuel pure, sous forme d'une methode clone(). */ class Cloneable { public: Cloneable(); virtual ~Cloneable(); /** Renvoye un pointeur sur une copie de surface de cet objet cloneable. * Toute sous-classe devra implementer cette methode. * ATTENTION: comme clone() est une methode de fabrication, la responsabilite de gestion de memoire est transmise a l'appelant. */ virtual Cloneable* clone() const = 0; }; } #endif /* CLONEABLE_H_ */