diff options
-rw-r--r-- | src/main/Cloneable.cc | 19 | ||||
-rw-r--r-- | src/main/Cloneable.h | 29 |
2 files changed, 48 insertions, 0 deletions
diff --git a/src/main/Cloneable.cc b/src/main/Cloneable.cc new file mode 100644 index 0000000..a3bb60d --- /dev/null +++ b/src/main/Cloneable.cc @@ -0,0 +1,19 @@ +/* + * Cloneable.cc + * + * Created on: Apr 12, 2011 + * Author: jakob + */ + +#include "Cloneable.h" + +namespace vhc { + +Cloneable::Cloneable() { + +} + +Cloneable::~Cloneable() { +} + +} diff --git a/src/main/Cloneable.h b/src/main/Cloneable.h new file mode 100644 index 0000000..4bbee51 --- /dev/null +++ b/src/main/Cloneable.h @@ -0,0 +1,29 @@ +/* + * 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 <code>clone()</code>. */ +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. + * <b>ATTENTION</b>: comme <code>clone()</code> est une methode de fabrication, la responsabilite de gestion de memoire est transmise a l'appelant. */ + virtual Cloneable* clone() const = 0; + +}; + +} + +#endif /* CLONEABLE_H_ */ |