PDA

View Full Version : Overriding di operatori


IceCoder
11-12-2007, 14:49
class colVECTOR
{
public:
colVECTOR();
colVECTOR(float x, float y, float z);
colVECTOR operator=(const colVECTOR& param);

float x, y, z;

};

colVECTOR::colVECTOR()
{
this->x = 0;
this->y = 0;
this->z = 0;
}
colVECTOR::colVECTOR(float _x, float _y, float _z)
{
this->x = _x;
this->y = _y;
this->z = _z;
}

colVECTOR colVECTOR::colVECTOR operator=(const colVECTOR& param)
{
colVECTOR v;
v.x = param.x;
v.y = param.y;
v.z = param.z;
return v;

}


è la prima volta che provo a fare l'overriding di operatori..

c'è sicuramente qualche errore...potete aiutarmi?

IceCoder
11-12-2007, 15:00
risolto, grazie lo stesso ^^

variabilepippo
11-12-2007, 15:16
risolto, grazie lo stesso


È sempre opportuno condividere con il resto del forum le proprie soluzioni, indipendentemente dalla difficoltà del problema. Qui non si viene solo per "prendere"... :rolleyes:

IceCoder
11-12-2007, 15:45
giusto. il probema e che la sintassi errata la si ha quando si dichiara l'overriding

"colVECTOR colVECTOR::colVECTOR operator +(const colVECTOR& param)" definisce un costruttore mentre per modificare l'operatore va scritta in questo modo:

"colVECTOR colVECTOR::operator +(const colVECTOR& param)"

non me n'ero accorto ^^