【发布时间】:2013-11-21 04:56:48
【问题描述】:
我正在尝试将对象 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
}
【问题讨论】:
-
你需要为
Point2D写operator< -
你能详细说明一下吗,对不起我对c++很陌生
-
一组已排序。如果它不能对你的对象进行排序,那么你就不能把它们放在一个集合中。排序是使用
operator<或用户指定的谓词完成的。 -
下次请提供您收到的错误信息。