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.98 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.  
  86. template<typename T, int elemMax = 1000>
  87. class Vector
  88. {
  89. private:
  90.     T elemente[elemMax];
  91.     int n;
  92. public:
  93.     Vector()
  94.     {
  95.         n = 0;
  96.     }
  97.  
  98.     void Push_back(T x)
  99.     {
  100.         elemente[n++] = x;
  101.     }
  102.     T get_element_at_index(int ind) const
  103.     {
  104.         return elemente[ind];
  105.     }
  106. };
  107.  
  108.  
  109. int main()
  110. {
  111.     Vector<int> v;
  112.     v.Push_back(5);
  113.     v.Push_back(7);
  114.     v.Push_back(1);
  115.  
  116.     Vector<Animal, 10000> x;
  117.     x.Push_back(Animal(1, 5));
  118.     x.Push_back(Animal(2, 1));
  119.  
  120.     cout << x.get_element_at_index(0).getPicioare();
  121.     return 0;
  122. }
  123.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement