gpt4 book ai didi

C++:重载 != When == 重载

转载 作者:太空狗 更新时间:2023-10-29 19:44:12 28 4
gpt4 key购买 nike

假设我有一个类,我在其中重载了运算符 == :

Class A {
...
public:
bool operator== (const A &rhs) const;
...
};

...

bool A::operator== (const A &rhs) const {
..
return isEqual;
}

我已经让运算符 == 返回正确的 bool 值。现在我想将其扩展为简单的相反 (!=)。我想调用重载的 == 运算符并返回相反的东西,即自然的东西

bool A::operator!= (const A &rhs) const {
return !( this == A );
}

这可能吗?我知道 this 不会起作用,但它举例说明了我想要的东西。我只想为调用保留一个参数:rhs。任何帮助将不胜感激,因为在多次搜索尝试后我无法得出答案。

最佳答案

你几乎成功了:

bool A::operator!= (const A &rhs) const {
return !( *this == rhs );
}

请注意,this 是一个指针,而不是对象。您需要取消引用它。与此相关的是,将大多数二元运算符实现为自由函数而不是成员函数通常更好。

关于C++:重载 != When == 重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12271677/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com