#include <iostream>
#include <set>
struct Person{
public:
Person(int age, std::string name):m_age(age), m_name(name){}
int m_age;
std::string m_name;
};
std::ostream& operator<<(std::ostream& cout, Person per)
{
cout<<per.m_age<<","<<per.m_name<<std::endl;
}
struct ComparePersonAgeLess{
public:
bool operator()(const Person& left, const Person& right) const
{
return left.m_age> right.m_age;
}
};
int main()
{
std::set<Person, ComparePersonAgeLess> st;
Person p1(10, "zhangsan");
st.insert(p1);
Person p2(20, "lisi");
st.insert(p2);
for (auto it = st.begin(); it != st.end(); ++it)
{
std::cout<<*it<<std::endl;
}
return 0 ;
}