fork download
  1. #include <algorithm>
  2. #include <iostream>
  3. #include <tuple>
  4. #include <vector>
  5.  
  6. class Time {
  7. int hour;
  8. int minute;
  9. public:
  10. Time(int h, int m) : hour(h), minute(m) {
  11. }
  12.  
  13. int getHour() const { return hour; }
  14. int getMinute() const { return minute; }
  15.  
  16. friend bool operator<(const Time& a, const Time& b) {
  17. return std::tie(a.hour, a.minute) < std::tie(b.hour, b.minute);
  18. }
  19. };
  20.  
  21. class Times {
  22. std::vector<Time> t;
  23.  
  24. public:
  25. Times() {
  26. // Test data
  27. t.push_back(Time{10, 10});
  28. t.push_back(Time{9, 20});
  29. t.push_back(Time{8, 30});
  30.  
  31. std::sort(t.begin(), t.end());
  32. }
  33.  
  34. void display() {
  35. for (const auto& x : t) {
  36. std::cout << x.getHour() << ":" << x.getMinute() << '\n';
  37. }
  38. }
  39. };
  40.  
  41. int main() {
  42. Times times;
  43. times.display();
  44. }
Success #stdin #stdout 0s 3460KB
stdin
Standard input is empty
stdout
8:30
9:20
10:10