fork download
  1. #include <iostream>
  2. //#include <vector>
  3. #include <set>
  4. #include <string>
  5.  
  6. class C {
  7. private:
  8. int seq;
  9. std::string str;
  10. public:
  11. C(int seq_, std::string str_) : seq(seq_), str(str_) {};
  12. friend std::ostream &operator<<(std::ostream &s, std::set<C>::const_iterator p) { s << p->seq << ":" << p->str << std::endl; return s; }
  13. friend bool operator<(C const &a, C const &b) { return a.str < b.str; }
  14. };
  15.  
  16. int main() {
  17. std::set<C> v;
  18. v.insert(C(31, "Illinois"));
  19. v.insert(C(41,"Wisconsin"));
  20. v.insert(C(59, "Missouri"));
  21. v.insert(C(26, "California"));
  22. v.insert(C(53, "Nevada"));
  23. v.insert(C(58, "Arkansas"));
  24. v.insert(C(97, "West Virginia"));
  25.  
  26. for (std::set<C>::const_iterator p = v.begin(); p != v.end(); p++) {
  27. std::cout << p;
  28. }
  29. return 0;
  30. }
  31.  
  32. /* end */
  33.  
Success #stdin #stdout 0.01s 5492KB
stdin
Standard input is empty
stdout
58:Arkansas
26:California
31:Illinois
59:Missouri
53:Nevada
97:West Virginia
41:Wisconsin