我正在尝试将对象 Point2D 插入到 Point2D 集中,但我无法做到,似乎该集适用于 int 和 char 但不适用于对象。
我需要帮助才能知道如何将对象插入集合中???假设我想按 x 值的升序对它们进行排序
class Point2D
{
public:
Point2D(int,int);
int getX();
int getY();
void setX(int);
void setY(int);
double getScalarValue();
protected:
int x;
int y;
double distFrOrigin;
void setDistFrOrigin();
};
int main()
{
Point2D abc(2,3);
set<Point2D> P2D;
P2D.insert(abc); // i am getting error here, i don't know why
}
原文由 Computernerd 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要为您的班级实现
operator<
重载。例如,在您的课堂上,您可以执行以下操作:然后,在你的课外:
_编辑_:正如 Retired Ninja 所建议的,您也可以在您的班级中将其实现为常规成员函数: