Advertisement
Mihai_Preda

Untitled

Apr 22nd, 2021
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.60 KB | None | 0 0
  1. #include <iostream>
  2. #include <random>
  3. #include <ctime>
  4. #include <vector>
  5. #include <set>
  6. #include <list>
  7.  
  8. using namespace std;
  9.  
  10. class Animal
  11. {
  12. private:
  13.     int varsta, picioare;
  14.     static int lastId;
  15. public:
  16.     int id;
  17.     Animal()
  18.     {
  19.         id = lastId;
  20.         lastId++;
  21.     }
  22.     Animal(int varsta, int picioare)
  23.     {
  24.         id = lastId;
  25.         lastId++;
  26.         this->varsta = varsta;
  27.         this->picioare = picioare;
  28.     }
  29.     virtual ~Animal()
  30.     {
  31.  
  32.     }
  33.     virtual void vorbeste()
  34.     {
  35.         cout << "Animalul vorbeste\n";
  36.         cout << "Are varsta " << varsta << "\n";
  37.     }
  38.     static void f()
  39.     {
  40.         cout << "S-a apelat functia f\n";
  41.     }
  42.     bool operator<(const Animal &other) const
  43.     {
  44.         return varsta < other.varsta;
  45.     }
  46.     int getVarsta()
  47.     {
  48.         return varsta;
  49.     }
  50.     int getPicioare()
  51.     {
  52.         return picioare;
  53.     }
  54. };
  55. int Animal::lastId = 0;
  56.  
  57. class Caine: public Animal
  58. {
  59. private:
  60.     int culoare;
  61. public:
  62.     Caine(int varsta, int picioare, int culoare): Animal(varsta, picioare)
  63.     {
  64.         this->culoare = culoare;
  65.     }
  66.     void vorbeste()
  67.     {
  68.         cout << "Cainele latra\n";
  69.     }
  70.     void seJoaca()
  71.     {
  72.         cout << "Cainele se joaca\n";
  73.     }
  74. };
  75.  
  76. class Pisica: public Animal
  77. {
  78. public:
  79.     void vorbestte()
  80.     {
  81.         cout << "Pisica miauna\n";
  82.     }
  83. };
  84.  
  85. int main()
  86. {
  87.     Animal a(5, 4), b(3, 2), c(6, 1);
  88.  
  89.     set<Animal> s;
  90.     s.insert(a);
  91.     s.insert(b);
  92.     s.insert(c);
  93.  
  94.     for(auto x:s)
  95.         cout << x.getVarsta() << " ";
  96.     return 0;
  97. }
  98.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement