Josif_tepe

Untitled

Sep 13th, 2026
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.00 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class Predmet {
  5. private:
  6.     string ime;
  7.    
  8. protected:
  9.     int granica;
  10.  
  11. public:
  12.     Predmet() {}
  13.     Predmet(string ime, int granica) {
  14.         this->ime = ime;
  15.         this->granica = granica;
  16.     }
  17.    
  18.     Predmet(const Predmet &tmp) {
  19.         this->ime = tmp.ime;
  20.         this->granica = tmp.granica;
  21.     }
  22.    
  23.     ~Predmet() {}
  24.    
  25.    
  26.     virtual void print() {
  27.         cout << "Ime: " << ime << ", granica: " << granica << endl;
  28.     }
  29.    
  30.     string get_ime() {
  31.         return ime;
  32.     }
  33.    
  34.     virtual int presmetaj() {
  35.         return 0;
  36.     }
  37.    
  38.     friend bool operator == (const Predmet & p, const Predmet &p2) {
  39.         if(p.ime == p2.ime) {
  40.             return true;
  41.         }
  42.         return false;
  43.     }
  44.    
  45. };
  46.  
  47. class Zadolzitelen : public Predmet {
  48. private:
  49.     int kolokviumi, vezbi;
  50. public:
  51.     Zadolzitelen() : Predmet() {}
  52.     Zadolzitelen(string ime, int granica, int kolokviumi, int vezbi) : Predmet(ime, granica) {
  53.         this->kolokviumi = kolokviumi;
  54.         this->vezbi = vezbi;
  55.     }
  56.    
  57.     Zadolzitelen(const Zadolzitelen & tmp) : Predmet(tmp) {
  58.         this->kolokviumi = tmp.kolokviumi;
  59.         this->vezbi = tmp.vezbi;
  60.     }
  61.    
  62.     ~Zadolzitelen() {}
  63.    
  64.      virtual void print() override  {
  65.         Predmet::print();
  66.         cout << "Kolokviumi: " << kolokviumi << " " << " vezbi: " << vezbi << endl;
  67.     }
  68.    
  69.      virtual int presmetaj() override  {
  70.         return vezbi + kolokviumi;
  71.     }
  72.    
  73.    
  74.    
  75. };
  76.  
  77.  
  78. int main() {
  79.    
  80.     Predmet * p = new Predmet("matematika", 60);
  81.     Predmet * p2 = new Zadolzitelen("matematika", 70, 150, 60);
  82.    
  83.     p->print();
  84.     p2->print();
  85.    
  86.     cout << p->presmetaj() << endl;
  87.     cout << p2->presmetaj() << endl;
  88.    
  89.     Predmet p1("mat", 50);
  90.     Predmet p3("mat", 60);
  91.    
  92.     if(p1 == p3) {
  93.         cout << "DA" << endl;
  94.     }
  95.    
  96.     if(*p == *p2) {
  97.         cout << "DA2"<<endl;
  98.     }
  99.     return 0;
  100. }
  101.  
Advertisement
Add Comment
Please, Sign In to add comment