两个对象在同一个类下的比较
我仍然对C ++不熟悉(一般编程),并且如果这个问题很愚蠢或者被无数次问到,请原谅我。 这里有个问题。比方说,在同一个班上有两个对象A和B.
例如
class Fruit{
int apple;
int banana;
fruit(int x, int y){
apple=x;
banana=y;
}
}
Fruit A(1,1);
Fruit B(1,1);
如果我想检查对象A的内容是否与对象B相同,是否必须将每个变量从A比较到B,或者
if(Object A == Object B)
return true;
会做这份工作吗?
if(Object A == Object B)
return true;
会做这份工作吗? 不,它不会,它甚至不会编译
错误:'operator =='不匹配(操作数类型为'Fruit'和'Fruit')
你需要实现一个比较运算符operator==
,就像
bool Fruit::operator==(const Fruit& rhs) const
{
return (apple == rhs.apple) && (banana == rhs.banana);
// or, in C++11 (must #include <tuple>)
// return std::tie(apple, banana) == std::tie(rhs.apple, rhs.banana);
}
链接地址: http://www.djcxy.com/p/73773.html
上一篇: Comparison between two objects under the same class
下一篇: How to avoid mistakes in operator== implementations in C++?