Bonsoir,
J'ai crée une classe vecteur suivante :
Seulement j'ai un problème pour surcharger l'opérateur *, qui sera ici la multiplication d'un vecteur par un double.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 };
J'ai comme fonction :
Seulement, avec ce code, je peux seulement multiplier à droite par un double, et pas à gauche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Vecteur& Vecteur::operator * ( double a) { x=a*x; y=a*y; z=z*a; return *this; }
Comment faire pour pouvoir multiplier par un double à la fois à droite et à gauche ?
Merci beaucoup.
Partager