PDA

View Full Version : [C++] Ereditarietà, distinzione di elementi in un array


Giace
11-04-2011, 15:45
Salve a tutti, ho questo problema:
Ho un array di puntatori a Case (che è una classe).
Dalla suddetta classe ereditano CaseSingole e Condomini.
In quell'array ci sono, mescolati, CaseSingole e Condomini e io dovrei stampare gli attributi di questi due. Il mio problema è, una volta che ho l'elemento i-esimo dell'array, come faccio a sapere se è un Condominio o una CaseSingole?

Spero di essere stato chiaro e grazie in anticipo per le risposte.

sottovento
12-04-2011, 13:28
Salve a tutti, ho questo problema:
Ho un array di puntatori a Case (che è una classe).
Dalla suddetta classe ereditano CaseSingole e Condomini.
In quell'array ci sono, mescolati, CaseSingole e Condomini e io dovrei stampare gli attributi di questi due. Il mio problema è, una volta che ho l'elemento i-esimo dell'array, come faccio a sapere se è un Condominio o una CaseSingole?

Spero di essere stato chiaro e grazie in anticipo per le risposte.

L'idea di fondo e' che non dovrebbe essere necessario sapere se stai manipolando una Casa Singola oppure un Condominio. Quindi non hai "ufficialmente" modo di sapere cosa stai trattando al momento.

Se pero' la classe base "Case" e' scritta da te, magari la puoi arricchire con ulteriori metodi che verranno poi implementati nelle classi CaseSingole e Condomini, e che faranno il lavoro che ti serve. A voler vedere, potresti mettere nella classe "Case" un metodo che ti ritorna con quale tipo di oggetto hai a che fare e le due classi lo reimplementeranno, riportando un valore che le distingue. Ma ti sconsiglio caldamente di farlo

Giace
12-04-2011, 14:39
Ok, ho capito. Grazie mille lo stesso :D