Advertisement
Josif_tepe

Untitled

Jan 20th, 2025
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.69 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. enum tip {M, S};
  5.  
  6. class Element {
  7. public:
  8.     tip tip_na_masa;
  9.     int id;
  10. };
  11. class Kancelarija {
  12. private:
  13.     int br_na_identifikacija;
  14.     int n;
  15.     Element * niza;
  16.    
  17. public:
  18.     Kancelarija() {}
  19.     Kancelarija(int _br_na_identifikacija, int _n, Element * _niza) {
  20.         br_na_identifikacija = _br_na_identifikacija;
  21.         n = _n;
  22.         niza = new Element[n];
  23.        
  24.         for(int i = 0; i < n; i++) {
  25.             niza[i] = _niza[i];
  26.         }
  27.     }
  28.     Kancelarija(const Kancelarija & tmp) {
  29.         br_na_identifikacija = tmp.br_na_identifikacija;
  30.         n = tmp.n;
  31.         niza = new Element[n];
  32.        
  33.         for(int i = 0; i < n; i++) {
  34.             niza[i] = tmp.niza[i];
  35.         }
  36.     }
  37.     Kancelarija & operator = (Kancelarija tmp) {
  38.         br_na_identifikacija = tmp.br_na_identifikacija;
  39.         n = tmp.n;
  40.         niza = new Element[n];
  41.        
  42.         for(int i = 0; i < n; i++) {
  43.             niza[i] = tmp.niza[i];
  44.         }
  45.         return *this;
  46.     }
  47.     ~Kancelarija() {
  48.     }
  49.    
  50.     Kancelarija & operator += (Element e) {
  51.         Element tmp_niza[n];
  52.         for(int i = 0; i < n; i++) {
  53.             tmp_niza[i] = niza[i];
  54.         }
  55.         niza = new Element[n + 1];
  56.         niza[0] = e;
  57.         for(int i = 0; i < n; i++) {
  58.             niza[i + 1] = tmp_niza[i];
  59.         }
  60.         n++;
  61.         return *this;
  62.     }
  63.     friend ostream & operator << (ostream & stream, Kancelarija & tmp);
  64. };
  65. ostream & operator << (ostream & stream, Kancelarija & tmp) {
  66.     stream << tmp.br_na_identifikacija << " " << tmp.n << endl;
  67.     for(int i = 0; i < tmp.n; i++) {
  68.         stream << tmp.niza[i].id << " ";
  69.     }
  70.     stream << endl;
  71.     return stream;
  72. }
  73. class Asistentska : public Kancelarija {
  74. private:
  75.     int br_na_tetratki;
  76.    
  77. public:
  78.     Asistentska() : Kancelarija() {}
  79.     Asistentska(int _br_na_identifikacija, int _n, Element * _niza, int _br_na_tetratki) : Kancelarija(_br_na_identifikacija, _n, _niza) {
  80.         br_na_tetratki = _br_na_tetratki;
  81.     }
  82.     Asistentska(const Asistentska & tmp) : Kancelarija(tmp) {
  83.         br_na_tetratki = tmp.br_na_tetratki;
  84.     }
  85. };
  86.  
  87. class Profesorska : public Kancelarija {
  88. private:
  89.     int dali_ima_proektor;
  90.    
  91. public:
  92.     Profesorska() : Kancelarija() {}
  93.     Profesorska(int _br_na_identifikacija, int _n, Element * _niza, int _dali_ima_proektor) : Kancelarija(_br_na_identifikacija, _n, _niza) {
  94.         dali_ima_proektor = _dali_ima_proektor;
  95.        
  96.     }
  97.     Profesorska(const Profesorska & tmp) : Kancelarija(tmp) {
  98.         dali_ima_proektor = tmp.dali_ima_proektor;
  99.        
  100.     }
  101. };
  102. int main()
  103. {
  104.  
  105.     return 0;
  106. }
  107.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement