我有一个标题,它由不同的模板函数组成
#include <cmath>
template<class T>
bool lessThan(T x, T y) {
return (x < y);
}
template<class T>
bool greaterThan(T x, T y) {
return (x > y);
}
一类
class Point2D {
public:
Point2D(int x, int y);
protected:
int x;
int y;
double distFrOrigin;
在我的驱动程序类中,我有一个 Point2D: 的 STL 列表list<Point2D> p2dL
。如何p2dL
使用模板函数lessThan
和greaterThan
在我的标题中进行排序?即基于x
或y
值对列表进行排序。
编辑:所以,根据安东的评论,我想出了这个:
bool Point2D::operator<(Point2D p2d) {
if (this->x < p2d.x || this->y < p2d.y
|| this->distFrOrigin < p2d.distFrOrigin) {
return true;
}
else {
return false;
}
}
我做对了吗?