Advertisement
Josif_tepe

Untitled

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