Par exemple,Lorsque l'opérateur de déréférencement (*) est surchargé, l'utilisation de * est-elle affectée?
class Person{
string name;
public:
T& operator*(){
return name;
}
bool operator==(const Person &rhs){
return this->name == rhs.name;
}
bool operator!=(const Person &rhs){
return !(*this == rhs); // Will *this be the string name or the Person?
}
}
Si *this
finit par déréférencement this
à un string
au lieu d'un Person
, est-il une solution qui maintient l'utilisation de *
comme opérateur de déréférencement en dehors de la classe?
Ce serait un obstacle si je ne pouvais pas surcharger *
sans abandonner l'utilisation de *this
.
La surcharge applique aux objets personne. Mais 'ceci 'est une personne * pointeur *. – Galik
@Galik ce commentaire devrait être une réponse (acceptée). – YSC