通过在类函数中对 < 重新定义,就能完成类的比较函数,完成在sort排序,或类的比较功能,代码如下
class persion {
public:
string name;
int age;
persion(string name_, int age_) {
name = name_;
age = age_;
}
bool operator < (persion& m) {
if (age < m.age) return true;
else
return false;
}
bool operator > (persion& m) {
if (age > m.age) return true;
else
return false;
}
};
int main(int argc , char ** argv) {
persion a("a", 10);
persion b("b", 20);
vector <persion> x;
x.push_back(a);
x.push_back(b);
sort(x.begin(), x.end());
for (int i = 0; i < 2; i++) {
cout << x[i].name << " " << x[i].age << endl;
}
cout << (a < b) << endl;
cout << (a >b) << endl;