Aggiungo nella classe una funzione che modifica la base della figura:
class Rettangolo{
protected:
int base,altezza;
public:
Rettangolo(){}
Rettangolo(int b, int a){
base=b;
altezza=a;
}
void modificaBase(){
base=123;
}
int area(){
return base*altezza;
}
};
E adesso, per vedere se la variabile mioTriangolo e la variabile vrbl di tipo Triangolo che ho creato e cui ho attribuito il valore di mioTriangolo sono la stessa cosa o due istanze diverse della classe, faccio così:
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(); } }Creo una istanza mioTriangolo della classe Triangolo e poi una variabile vrbl di tipo Triangolo cui attribuisco il valore dell'istanza mioTriangolo.
Quindi metto a video l'area di mioTriangolo e di vrbl, faccio scattare nella variabile vrbl la funzione modificaBase e quindi rimetto a video l'area di mioTriangolo e di vrbl.
6 6 6 246Ecco: sono due cose diverse.
Nessun commento:
Posta un commento