Laboratorio di Calcolo II AA 2003/04
Esercitazione n.8 settimana del 14/6
Utilizzo di un Container
Costruite un programma
main() che utilizzi il container vector della libreria standard STL per memorizzare oggetti di tipo CorpoCeleste tramite il loro puntatore ( CorpoCeleste * ). Inserire nel container puntatori ad oggetti di tipo CorpoCeleste e puntatori ad oggetti di tipo Sonda. Successivamente accedete agli elementi del container per visualizzare su video alcune caratteristiche degli oggetti (ad esempio la massa, la posizione, la velocita’).
Dopo aver verificato il corretto funzionamento del programma precedente, modificare la classe
SistemaSolare in modo da memorizzare i pianeti che compongono un sistema solare tramite un container di tipo vector. In particolare tenere presente che:i) L’attributo N della classe
ii) I costruttori
SistemaSolare() e SistemaSolare(int n) devono essere opportunamente modificati. Quest’ultimo costruttore, di per se’ ora inutile, venga mantenuto per compatibilita’ con la versione precedente;iii) I metodi
aggiungiPianeta ed evolvi devono essere opportunamente modificati.
N.B. Per semplificare la notazione, in particolare nel caso degli iteratori, si puo’ utilizzare l’istruzione
typedef che permette di associare ad un qualsiasi comando o stringa un alias. La sintassi e’:
typedef nomecomando alias ;
Ad esempio:
typedef vector<CorpoCeleste
*>::const_iterator CCIter ;In questo modo sara’ possibile utilizzare l’ "abbreviazione"