J'ai la relation de classes suivante. Je veux cloner la classe Derived, mais je reçois l'erreur "impossible d'instancier une classe abstraite". Comment je peux cloner la classe dérivée? Merci.Clonage de la classe C++ avec des méthodes virtuelles pures
class Base {
public:
virtual ~Base() {}
virtual Base* clone() const = 0;
};
class Derived: public Base {
public:
virtual void func() = 0;
virtual Derived* clone() const {
return new Derived(*this);
}
};
Qu'est-ce que cela ferait? Un clone est essentiellement une opération au niveau de l'objet. Sans un objet concret, comment savez-vous quoi cloner? – Joe