Advertisement
Mihai_Preda

Untitled

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