#include #include #include using namespace std; struct Thing { int data; Thing() { data = 47; } Thing( int n ) { data = n; } }; bool operator<( const Thing& a, const Thing& b ) { return a.data < b.data; } bool operator==( const Thing& a, const Thing& b ) { return a.data == b.data; } int main() { set mySet; Thing t1, t2(49); mySet.insert( t1 ); mySet.insert( t2 ); set::iterator it = mySet.begin(); while( it != mySet.end() ) { cout << (*it).data << endl; ++it; } return 0; }