mercoledì 12 dicembre 2012

La classe SalaGioco

La classe SalaGioco rappresenta la sala o la fila nella quale i giocatori attendono.
Class SalaGioco
{ friend ostream& operator<<(ostram& os, const SalaGioco& aSalaGioco);
public:
          SalaGioco(): m_pTesta(0){}
          ~SalaGioco( ){ Azzera(); }
          void AggiungiGiocatore();
          void RimuoviGiocatore();
          void Azzera();
private:
         Giocatore* m_pTesta;
};

Il membro dati m_pTesta è un puntatore che indica l'oggetto Giocatore, il quale rappresenta la prima persona nella coda. m_pTesta è l'inizio della coda. Poiché ogni oggetto Giocatore ha un membro dati m_pPros, è possibile collegare un gruppo di oggetti Giocatore in una lista collegata. Elementi individuali della lista collegata sono chiamati nodi. Un modo di pensare ai nodi del giocatore è come un gruppo di vagoni connessi tra loro. Ogni vagone porta un nome e sono collegati attraverso un puntatore chiamato m_pPros. La classe SalaGioco alloca la memoria su heap per ciascuno dei giocatori sulla lista. La classe SalaGioco fornisce accesso al primo oggetto Giocatore in testa alla lista. Il costruttore è molto semplice e inizializza i dati membro di m_pTesta a 0, con un puntatore nullo. Il distruttore chiama semplicemente Azzera(), il quale rimuove tutti i giocatori dalla lista e libera la memoria allocata. AggiungiGiocatore() istanzia un nuovo oggetto Giocatore su heap, e lo aggiunge alla fine della lista. RimuoviGiocatore() toglie il primo oggetto Giocatore dalla lista e libera la memoria allocata. Viene dichiarata la funzione operator<<() amica di SalaGioco, in quanto l'oggetto SalaGioco possa essere visualizzato con cout usando l'operatore <<.

Nessun commento:

Posta un commento