重载operator <包含类对象

时间:2019-02-17 15:11:23

标签: c++ class sorting operator-overloading

operator<过载时遇到麻烦。我试图重载operator<,以便可以根据Line2D的{​​{1}}对pt1对象进行排序。但是我在弄清楚如何声明该函数时遇到了麻烦。

我遇到了错误:

x

我尝试过的操作:删除object has type qualifiers that are not compatible with the member function "Point2D::getX",改为放置const

Point2D &l2dobj

1 个答案:

答案 0 :(得分:3)

Point2D :: getX 不接受 const 实例,当它是 const引用时,不能将其应用于 l2dobj ,将 getX (和优先级 getY )更改为:

class Point2D
{
protected:
   int x;
   int y;
public:
   int getX() const;
   int getY() const;
};

作为一种通用方法,您可以越多地声明方法 const ,其参数也应相同