PDA

View Full Version : Passaggio parametri classi


Titti92
27-10-2013, 11:04
Ciao a tutti.
Sto studiando la programmazione ad oggetti del C++ e ho un problema con il passaggio dei parametri ad una funzione. In breve vorrei passarle come parametri delle istanze di una classe ma quando lo faccio, questa mi richiama il costruttore, invece di prende i valori che voglio passarli. Ad esempio:
class point{
private:
float x,y;
public:
point(float a, float b){x=a;y=b;};
point(){x=0;y=0;}
};

class rectangle{
private:
point ce,a,b,c,d;
float larghezza,altezza;
public:
float area(),perimetro();
point centro();
rectangle(point A, point B, point C, point D){
a=A;
b=B;
c=C;
d=D;
};
};

int main(){
point A(0,0);
point B(1,0);
point C(1,1);
point D(0,1);
rectangle ret(A,B,C,D);

getch();
return 0;}


quando vado a passare i parametri A,B,C e D al costruttore della classe rectangle, questo richiama il costruttore di default di point e ignora i punti che gli passo. Come faccio?

tomminno
27-10-2013, 13:35
Semplicemente perché li stai passando per copia e non hai il costruttore di copia.
Prova a cambiare la firma di rettangle (sarebbe rectangle...) usando
"const point &" invece di "point"

Titti92
28-10-2013, 16:36
grazie!