Josif_tepe

Untitled

Sep 11th, 2025
323
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.70 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4.  
  5. class Recenica {
  6. private:
  7.     string * zborovi;
  8.     int broj_na_zborovi;
  9.    
  10. public:
  11.     Recenica() {
  12.         broj_na_zborovi = 1;
  13.         zborovi = new string[1];
  14.         zborovi[0] = "default";
  15.     }
  16.    
  17.     Recenica(string * _zborovi, int _broj_na_zborovi) {
  18.         broj_na_zborovi = _broj_na_zborovi;
  19.         zborovi = new string[broj_na_zborovi];
  20.         for(int i = 0; i < broj_na_zborovi; i++) {
  21.             zborovi[i] = _zborovi[i];
  22.         }
  23.     }
  24.    
  25.     ~Recenica() {}
  26.  
  27.    
  28.     Recenica(const Recenica & tmp) {
  29.         broj_na_zborovi = tmp.broj_na_zborovi;
  30.         zborovi = new string[broj_na_zborovi];
  31.         for(int i = 0; i < broj_na_zborovi; i++) {
  32.             zborovi[i] = tmp.zborovi[i];
  33.         }
  34.     }
  35.    
  36.     Recenica & operator = (Recenica tmp) {
  37.         broj_na_zborovi = tmp.broj_na_zborovi;
  38.         zborovi = new string[broj_na_zborovi];
  39.         for(int i = 0; i < broj_na_zborovi; i++) {
  40.             zborovi[i] = tmp.zborovi[i];
  41.         }
  42.        
  43.         return *this;
  44.     }
  45.    
  46.     bool operator > (Recenica r) {
  47.         if(broj_na_zborovi > r.broj_na_zborovi) {
  48.             return true;
  49.         }
  50.         else {
  51.             return false;
  52.         }
  53.     }
  54.    
  55.     Recenica & operator -= (string zbor) {
  56.         string * nova_niza = new string[broj_na_zborovi + 1];
  57.         nova_niza[0] = zbor;
  58.        
  59.         for(int i = 0; i < broj_na_zborovi; i++) {
  60.             nova_niza[i + 1] = zborovi[i];
  61.         }
  62.         broj_na_zborovi++;
  63.         zborovi = nova_niza;
  64.        
  65.         return *this;
  66.     }
  67.    
  68.     Recenica & operator ++ (int i) {
  69.         string * nova_niza = new string[broj_na_zborovi - 1];
  70.         for(int i = 0; i < broj_na_zborovi - 1; i++) {
  71.             nova_niza[i] = zborovi[i];
  72.         }
  73.        
  74.         broj_na_zborovi--;
  75.         zborovi = new string[broj_na_zborovi];
  76.         zborovi = nova_niza;
  77.        
  78.         return *this;
  79.     }
  80.    
  81.     string & operator [] (int i) {
  82.         return zborovi[i];
  83.     }
  84.     friend ostream & operator << (ostream & stream, Recenica & r);
  85.    
  86. };
  87.  
  88.  
  89. ostream & operator << (ostream & stream, Recenica & r) {
  90.     stream << r.broj_na_zborovi << endl;
  91.     for(int i = 0; i < r.broj_na_zborovi; i++) {
  92.         stream << r.zborovi[i] << " ";
  93.     }
  94.     stream << endl;
  95.     return stream;
  96. }
  97. int main() {
  98.    
  99.     string zborovi[6]={"sakam","da","polozam","psp","vo","juni"};
  100.     Recenica r1=Recenica();
  101.     Recenica r2=Recenica(zborovi,6);
  102.     Recenica r3;
  103.     r3=r2;
  104.     cout<<r2;
  105.     cout<<r3;
  106.     r2-="Jas";
  107.     cout<<r2;
  108.     r2++;
  109.     cout<<r2;
  110.     cout<<(r2>r1);
  111.     r1[0]="Nov";
  112.     cout<<r1[0];
  113.    
  114.      return 0;
  115. }
  116.  
Advertisement
Add Comment
Please, Sign In to add comment