Il semplice programma Semplice roditore
definisce un nuovo tipo chiamato Roditore, per la creazione
degli oggetti. Questo programma utilizza crea due oggetti di tipo
Roditore dopodiché assegna ad ognuno di essi un livello di
fame. Infine ogni roditore saluta e comunica il suo livello di fame
al mondo.
Il codice del programma è il seguente:
// Semplice roditore
// Dimostrazione della
creazione di un nuovo tipo
#include <iostream>
using naspace std;
class
Roditore \\definizione della classe
{ public:
int i_Fame;
void Saluto(); // funzione
membro prototipo
};
void Roditore::Saluto()
//definizione funzione membro
{ cout << “Ciao, io
sono un roditore. Questo è il mio livello di fame ” <<
i_Fame << “.\n”;
}
int main()
{
Roditore topo1;
Roditore topo2;
topo1.i_Fame =3;
topo2.i_Fame =7;
topo1.Saluto();
topo2.Saluto();
system(PAUSE);
return 0;
}
Per creare questa nuova tipologia, viene definita
una classe di codice che raggruppa i membri dati e le
funzioni. Dalla classe è possibile creare singoli oggetti
individuali le quali possiedono relative copie delle funzioni e degli
oggetti virtuali ed il loro accesso. La classe è come un
progetto, così come il progetto definisce la struttura
dell'edificio, una classe definisce la struttura di un oggetto. Così
come un muratore può costruire parecchie case con lo stesso
progetto, il programmatore può definire molti oggetti utilizzando la
stessa classe. Mostriamo un poco di codice per cementare questa
teoria. La classe viene definita nel programma Semplice
roditore con questa riga:
class
Roditore \\definizione della classe
La definizione della classe inizia con la
parola chiave class, seguita dal nome della classe. Per
convenzione i nomi delle classi iniziano con la lettera maiuscola. Il
corpo della classe è racchiuso dalle parentesi graffe e
termina con un punto e virgola.
Definizione delle funzioni membro
Le funzioni membro possono essere definite
all'esterno della definizione della classe. Al di fuori della classe
Roditore, viene definita la funzione membro Saluto(),
la quale dice ciao e mostra il livello di fame del roditore.
void Roditore::Saluto()
//definizione funzione membro
{ cout << “Ciao, io
sono un roditore. Questo è il mio livello di fame ” <<
i_Fame << “.\n”;
}
La definizione è simile a quella di tutte le altre
funzioni ad eccezione di una cosa, il prefisso della funzione è
Roditore:: Quando viene definita una funzione membro
all'esterno della classe, essa deve essere qualificata con il nome
della classe e l'operatore di risoluzione di scopo, in modo che il
compilatore sappia che essa appartiene alla classe. Nella funzione
membro il valore di i_Fame viene visualizzato con cout.
Questo significa che Saluto() mostra il valore di i_Fame
per l'oggetto specifico per il quale viene richiamata la funzione. In
questo caso viene semplicemente mostrato il livello di fame. E
possibile accedere ai membri dati e alle funzioni membro di un
oggetto semplicemente usando il suo nome membro.
Istanziare gli oggetto
Quando viene creato un oggetto, esso viene
istanziato dalla classe. Di fatto, oggetti specifici sono chiamati
istanze della classe. In main(), sono state istanziate due
Roditori dalla classe.
Roditore topo1;
Roditore topo2;
Come risultato vi sono due oggetti di tipo Roditore,
topo1 e topo2.
Accedere ai membri dati
E' ora di far lavorare i roditori, per prima cosa
viene assegnato loro un livello di fame.
Topo1.i_fame = 3;
Il codice precedente assegna un livello 3 di fame a
dato membro i_Fame del topo1. Così come è possibile accedere
a una funzione membro di un oggetto mediante l'operatore selezione,
vale anche per i dati membro. E' possibile inoltre ottenere il valore
di un dato membro mediante questa procedura. In questo programma
topo1 e topo2 sono due istanze di Roditore, ognuna
esiste indipendentemente e ha propria identità. Ciascuna possiede un
livello di i_Fame diverso.
Richiamare le funzioni membro
Nell'istruzione successiva vengono richiamate le
funzioni di Roditore, in questo caso Saluto().
topo1.Saluto();
topo2.Saluto();
La risposta del programma alle due istruzioni sarà
la seguente: “Ciao sono un roditore è il mio livello di fame è
3.”, richiamato dal primo topo. Il secondo topo invece dirà: “Ciao
sono un roditore è il mio livello di fame è 7.”, ognuno di essi
ha visualizzato il proprio dato membro i_Fame.
Nessun commento:
Posta un commento