#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;
}