Bonjour,
je travail sur un exercice de surcharge des opérateurs en C++. Pour surcharger les opérateurs "==" "!=" pour des vecteurs de trois dimensions dont la classe est définit comme suite:
ils ont proposé la solution suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 class vecteur3d { float x, y, z ; public : vecteur3d (float c1=0.0, float c2=0.0, float c3=0.0) { x = c1 ; y = c2 ; z = c3 ; } } ;
SVP je demande des explications sur le mot clé "*this" représente quoi exactement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 class vecteur3d { float x, y, z ; public : vecteur3d (float c1=0.0, float c2=0.0, float c3=0.0) { x = c1 ; y = c2 ; z = c3 ; } int operator == (vecteur3d) ; int operator != (vecteur3d) ; } ; int vecteur3d::operator == (vecteur3d v) { if ( (v.x == x) && (v.y == y) && (v.z ==z) ) return 1 ; else return 0 ; } int vecteur3d::operator != (vecteur3d v) { return ! ( (*this) == v ) ; }
et merci
Partager