Un puntatore a classe figlia può essere assegnato ad un puntatore a classe base, dato che classe_figlia è una classe_base (principio di sostituzione di Liskov).
Certo, basta memorizzare i puntatori a classe figlia nel vettore, esattamente come faresti con la classe-genitore.mettiamo per esempio che io abbia una classe madre con una sola variabile: int a;
ho poi due classi figlie in cui:
-nella prima ho una seconda variabile : int b;
-anche nella seconda classe figlia ho una seconda variabile: int c;
il vettore che devo creare deve contenere sia elementi della prima classe figlia che della seconda.
si può fare?
(ricordandosi poi alla fine di fare tutte le delete del caso)codice:std::vector<classe_base *> vec; vec.push_back(new classe_base); vec.push_back(new classe_figlia);


Rispondi quotando