sabato 12 luglio 2014

Istanza della classe e oggetto puntato dal puntatore come cosa unica e non diverse istanze della classe.

Adesso vediamo se, creando un puntatore e attribuendovi l'indirizzo dell'istanza della classe, la variabile puntata dal puntatore è la stessa cosa dell'istanza della classe o una sua copia.
Il procedimento è molto semplice:
void main(){

 Triangolo mioTriangolo(3,4);
 Triangolo * vrbl;
 vrbl=&mioTriangolo;

 cout << mioTriangolo.area() << endl;
 cout << vrbl->area() << endl;
 vrbl->modificaBase();
 cout<< mioTriangolo.area() << endl;
 cout << vrbl->area() << endl;
 getchar();
}
6
6
246
246


Nel momento in cui è scattata la funzione modificaBase, si modifica sia l'area dell'istanza mioTriangolo sia quella dell'oggetto puntato dal puntatore. Questo significa che diversamente dalle variabili con i puntatori non si crea una nuova istanza della classe, ma viene puntata sempre la stessa.

Come mi aspettavo dalle mie reminiscenze di C++.

Nessun commento:

Posta un commento