同一class下两个对象的比较

Comparison between two objects under the same class

我对 C++(一般编程)还是个新手,如果这个问题很愚蠢或被问过很多次,请原谅我。 这是问题..假设在同一个 class.

下有两个对象 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;

会做这份工作吗?不,它不会,它甚至不会编译

error: no match for 'operator==' (operand types are 'Fruit' and '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); 
}