E' possibile utilizzare i contenitori come dati
membro per gli oggetti. Questo viene chiamata Fattoria. Per il
singolo membro dati viene dichiarata la classe come un semplice
vettore che trattiene gli oggetti Roditore chiamato m_Roditori.
vector<Roditore>
m_Roditori;
Quando viene istanziato un nuovo oggetto fattoria
con l'istruzione:
Fattoria miaFattoria(3)
Viene richiamato il costruttore:
Fattoria(int spazi =1) {
m_Roditori.reserve (spazi); }
il quale alloca memoria per i tre oggetti Roditore
nel vettore m_Roditori dell'oggetto Fattoria. Subito dopo io aggiungo
tre roditori alla fattoria richiamando la funzione Somma dell'oggetto
Fattoria.
miaFattoria.Somma( Roditore(“Minni”));
miaFattoria.Somma( Roditore(“Mortimer”));
miaFattoria.Somma( Roditore(“Topps”));
La seguente funzione membro accetta una costante di
riferimento a un oggetto Roditore il quale aggiunge una copia
dell'oggetto al vettore m_Roditori.
void Somma( const Roditore& aRoditore)
{ m_Roditori.push_back(aRoditore); }
Infine viene chiamato l'appello di tutti roditori
tramite la funzione Richiamo().
miaFattoria.Richiamo();
La quale controllo il vettore e richiama ogni
elemento Roditore tramite la funzione DaiNome(), così ogni topo
fornisce il suo nome.
Nessun commento:
Posta un commento