je suis en train de faire une classe Matrice, et, après avoir surchargé
l'opérateur '*=', (qui renvoit *this), ainsi que l'opérateur de flux de
sortie '<<' j'aimerai rendre la chose suivante possible :
ça ne marche pas je ne comprends pas pourquoi, étant donné que mon
opérateur '*=' renvoit une référence vers mon objet 'm' après le
changement, et que ma surcharge de '<<' fonctionne correctement si je
fais :
tout est question de priorité d'évaluation entre opérateurs. pour que ça marche il faut écrire
cout << ( m *= m4 );
Loïc Joly
Nicolas Aunai wrote:
salut,
je suis en train de faire une classe Matrice, et, après avoir surchargé l'opérateur '*=', (qui renvoit *this), ainsi que l'opérateur de flux de sortie '<<' j'aimerai rendre la chose suivante possible :
ça ne marche pas je ne comprends pas pourquoi, étant donné que mon opérateur '*=' renvoit une référence vers mon objet 'm' après le changement, et que ma surcharge de '<<' fonctionne correctement si je fais :
cout << m;
qui a une explication ?
L'opérateur << est plus prioritaire que l'opérateur * Ce qui te semblerait logique dans l'expression :
unsigned int aB; unsigned int b14; a *= b << 2;
-- Loïc
Nicolas Aunai wrote:
salut,
je suis en train de faire une classe Matrice, et, après avoir surchargé
l'opérateur '*=', (qui renvoit *this), ainsi que l'opérateur de flux de
sortie '<<' j'aimerai rendre la chose suivante possible :
ça ne marche pas je ne comprends pas pourquoi, étant donné que mon
opérateur '*=' renvoit une référence vers mon objet 'm' après le
changement, et que ma surcharge de '<<' fonctionne correctement si je
fais :
cout << m;
qui a une explication ?
L'opérateur << est plus prioritaire que l'opérateur * Ce qui te semblerait logique dans l'expression :
je suis en train de faire une classe Matrice, et, après avoir surchargé l'opérateur '*=', (qui renvoit *this), ainsi que l'opérateur de flux de sortie '<<' j'aimerai rendre la chose suivante possible :
ça ne marche pas je ne comprends pas pourquoi, étant donné que mon opérateur '*=' renvoit une référence vers mon objet 'm' après le changement, et que ma surcharge de '<<' fonctionne correctement si je fais :
cout << m;
qui a une explication ?
L'opérateur << est plus prioritaire que l'opérateur * Ce qui te semblerait logique dans l'expression :