classe : surcharge d'opérateurs
Bonsoir,
J'ai crée une classe vecteur suivante :
Code:
1 2 3 4 5 6 7 8 9 10
| class Vecteur
{
public:
Vecteur(double a=0., double b=0., double c=0.){x=a;y=b;z=c;} // constructeur par défaut
Vecteur operator +( const Vecteur & );
Vecteur& operator *( double ) ;
void affiche() { cout<<"("<<x<<","<<y<<","<<z<<")"<<endl;}
private:
double x,y,z; // coordonnees
}; |
Seulement j'ai un problème pour surcharger l'opérateur *, qui sera ici la multiplication d'un vecteur par un double.
J'ai comme fonction :
Code:
1 2 3 4 5 6 7
| Vecteur& Vecteur::operator * ( double a)
{
x=a*x;
y=a*y;
z=z*a;
return *this;
} |
Seulement, avec ce code, je peux seulement multiplier à droite par un double, et pas à gauche :
Comment faire pour pouvoir multiplier par un double à la fois à droite et à gauche ?
Merci beaucoup.