Supongamos que tenemos la siguiente jerarquía de clases:Haga una copia de un tipo concreto desconocido en C++
class Base {
...
};
class Derived1 : public Base {
...
};
class Derived2 : public Base {
...
};
Dado un Base*
que podría apuntar a un objeto Derived1
o Derived2
cómo puedo hacer una copia de la real objeto dado que su tipo concreto es desconocido. Pensé en definir constructores de copia, pero no creo que esto sea posible sin conocer los tipos reales involucrados. La única solución en la que puedo pensar es definir un método clone()
en cada tipo en la jerarquía. ¿Alguien puede pensar en algo más elegante?
Creo que quieres decir Base * obj1, * obj2 ;. =] – strager
Good catch strager! –