#include<iostream>
using namespace std;
#include<list>
#include<algorithm>
class Person
{
public:
Person(string name, int age,int height)
{
this -> m_Name = name;
this->m_Age = age;
this -> m_Height = height;
}
string m_Name;
int m_Height;
int m_Age;
};
bool comparePerson(Person& p1, Person& p2)
{
//年龄相同 则按身高升序
if (p1.m_Age == p2.m_Age)
{
return p1.m_Height < p2.m_Height;
}
return p1.m_Age < p2.m_Age;
}
void test01()
{
list<Person> l;
l.push_back(Person("坤",38,140));
l.push_back(Person("鸡",20,170));
l.push_back(Person("你",18,180));
l.push_back(Person("太",20,160));
l.push_back(Person("美",40,150));
l.sort(comparePerson);
for (list<Person>::const_iterator it = l.begin(); it != l.end(); it++)
{
cout << it->m_Name << " " << it->m_Age << " " << it->m_Height << endl;
}
}
int main() {
test01();
}
结果: