Jak*_*e Z 3 c++ overloading class operator-keyword
假设我有一个类,我重载了运算符==:
Class A {
...
public:
bool operator== (const A &rhs) const;
...
};
...
bool A::operator== (const A &rhs) const {
..
return isEqual;
}
Run Code Online (Sandbox Code Playgroud)
我已经让运算符==返回正确的布尔值.现在我想将它扩展到简单的对面(!=).我想调用重载的==运算符并返回相反的,即性质的东西
bool A::operator!= (const A &rhs) const {
return !( this == A );
}
Run Code Online (Sandbox Code Playgroud)
这可能吗?我知道this不会起作用,但它体现了我想拥有的东西.我想只为调用保留一个参数:rhs.任何帮助将不胜感激,因为我经过几次搜索尝试后无法得到答案.
你几乎拥有它:
bool A::operator!= (const A &rhs) const {
return !( *this == rhs );
}
Run Code Online (Sandbox Code Playgroud)
请注意,这this是一个指针,而不是对象.你需要取消引用它.在相关的说明中,通常最好将大多数二元运算符实现为自由函数而不是成员函数.