fork(3) download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. using namespace std;
  5.  
  6.  
  7. class Ship
  8. {
  9. public:
  10. Ship(){}
  11. Ship(string name, int distance)
  12. {
  13. mName = name;
  14. mDistance = distance;
  15. }
  16. ~Ship(){}
  17. friend ostream & operator << (ostream &out, const Ship &ship);
  18. bool operator < (const Ship& str) const
  19. {
  20. return (mDistance < str.mDistance);
  21. }
  22. private:
  23. string mName;
  24. int mDistance;
  25. };
  26.  
  27. ostream & operator << (ostream &out, const Ship &ship)
  28. {
  29. return out << ship.mName << endl;
  30. }
  31.  
  32.  
  33. int main() {
  34. vector<Ship*> ships;
  35. ships.push_back(new Ship("some1", 20));
  36. ships.push_back(new Ship("some2", 10));
  37. ships.push_back(new Ship("some3", 5));
  38. ships.push_back(new Ship("some4", 40));
  39.  
  40. sort(ships.begin(), ships.end());
  41.  
  42. for (Ship *ship : ships)
  43. {
  44. cout << *ship;
  45. delete ship;
  46. }
  47.  
  48. return 0;
  49. }
Success #stdin #stdout 0s 3432KB
stdin
Standard input is empty
stdout
some1
some3
some2
some4