Bonsoir,

J'ai deux petites questions :

Si je surcharge l'opérateur * d'une classe Vect2D et que je souhaite garder la symétrie par exemple,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Vect2D a,b;
b = a * 10;
b = 10 * a;
Dois-je obligatoirement surcharger mon opérateur comme ci dessous ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Vect2D operator * (const Vect2D&, int);
Vect2D operator * (int, const Vect2D&);
Deuxième question :
Quelle est la différence entre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Vect2D& operator+(const Vect2D other) const{
   Vect2D* vect = new Vect2D(x + other.getX(), y + other.getY());
   return *vect;
}
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Vect2D operator+(const Vect2D other) const{
   Vect2D vect(x + other.getX(), y + other.getY());
   return vect;
}
Une de ces deux méthodes est préférable ?

Merci