同一类下两个对象之间的比较

Comparison between two objects under the same class

本文关键字:对象 两个 之间 比较 一类      更新时间:2023-10-16

我还是C 的新手(通常是编程),如果这个问题很愚蠢或已被大量询问,请原谅我。这是一个问题。

例如

  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相同,是否必须将每个变量与B进行比较,还是

   if(Object A == Object B)
   return true;

将完成这项工作?

if(Object A == Object B)
    return true;

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

错误:"操作员=='无匹配(操作数类型是'水果和'水果)

您需要实现比较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); 
}
相关文章: