Например,
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?
}
}
Если *this
заканчивается разыменование this
до string
вместо Person
, существует ли обходной путь, поддерживающий использование *
в качестве оператора разметки вне класса?
Было бы довольно затруднительным, если бы я не мог перегружать *
, не отказываясь от использования *this
.