Tengo la siguiente relación de clases. Quiero clonar la clase Derivada, pero obtengo el error "no puedo crear una instancia de clase abstracta". ¿Cómo puedo clonar la clase derivada? Gracias.Clonación clase C++ con métodos virtuales puros
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é es esto? Un clon es esencialmente una operación a nivel de objeto. Sin un objeto concreto, ¿cómo sabes qué clonar? – Joe