#include #include #include using namespace std; struct A{ string str; int score; }; //assignable, copyable,comparable, struct A is not comparable bool operator<(const A& lhs, const A& rhs) { return lhs.score<rhs.score; } void test(){ sets; A a,b,c; a.str="shanying";a.score=100; b.str="shanying";b.score=0; c.str="baitoudiao";c.score=50; A cpy(a); cout<<"orign:"<<a.str<<','<<a.score<<endl; cout<<"copy:"<<cpy.str<<','<<cpy.score<<endl; A assigned; assigned = a; cout<<"assigned:"<<assigned.str<<','<<assigned.score<<endl; cout<<"a<b?"<<(a<b?"true":"false")<<endl; s.insert(a); s.insert(b); s.insert(c); cout<<"size:"<<s.size()<<endl; } int main() { test(); return 0; }