consideri una classe base che ha un attributodifferente inizializzazione dell'attributo classe base
class Base
{
protected:
AttributeBase * elementPtr;
...
};
E una classe derivata
class Derived : public Base
{
...
};
Inoltre ho una classe AttributeDerived
che deriva da AttributeBase
Quando Creo un oggetto della classe Base
Vorrei che lo elementPtr
venga inizializzato in questo modo:
elementPtr = new AttributeBase()
Ma quando creo un oggetto della classe Derived
vorrei elementPtr
da inizializzare in questo modo:
elementPtr = new AttributeDerived()
Qual è il modo più pulito per farlo?