Advertisement
Josif_tepe

Untitled

Jul 9th, 2025
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.49 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class Ocila {
  5. private:
  6.     string brend;
  7.     int broj_na_primeroci;
  8. public:
  9.     Ocila() {}
  10.     Ocila(string _brend, int _broj_na_primeroci) {
  11.         brend = _brend;
  12.         broj_na_primeroci = _broj_na_primeroci;
  13.     }
  14.    
  15.     string get_brend() {
  16.         return brend;
  17.     }
  18.     int get_broj_na_primeroci() {
  19.         return broj_na_primeroci;
  20.     }
  21.    
  22. };
  23. class Prodavnica {
  24. private:
  25.     string ime;
  26.     string lokacija;
  27.     int broj_na_naocari;
  28.     Ocila * ocila;
  29.    
  30. public:
  31.     Prodavnica() {
  32.         broj_na_naocari = 0;
  33.     }
  34.     Prodavnica(string _ime, string _lokacija) {
  35.         ime = _ime;
  36.         lokacija = _lokacija;
  37.         broj_na_naocari = 0;
  38.     }
  39.    
  40.     Prodavnica(const Prodavnica & tmp) {
  41.         ime  = tmp.ime;
  42.         lokacija = tmp.lokacija;
  43.         broj_na_naocari = tmp.broj_na_naocari;
  44.         ocila = new Ocila[broj_na_naocari];
  45.        
  46.         for(int i = 0; i < broj_na_naocari; i++) {
  47.             ocila[i] = tmp.ocila[i];
  48.         }
  49.     }
  50.    
  51.     ~Prodavnica() {
  52.         delete [] ocila;
  53.     }
  54.    
  55.     Prodavnica & operator += (Ocila tmp) {
  56.         Ocila * tmp_niza = new Ocila[broj_na_naocari + 1];
  57.         for(int i = 0; i < broj_na_naocari; i++) {
  58.             tmp_niza[i] = ocila[i];
  59.         }
  60.        
  61.         tmp_niza[broj_na_naocari] = tmp;
  62.         broj_na_naocari++;
  63.        
  64.         ocila = tmp_niza;
  65.        
  66.         return * this;
  67.     }
  68.    
  69.     Prodavnica & operator -= (Ocila tmp) {
  70.         Ocila * tmp_niza = new Ocila[broj_na_naocari + 1];
  71.         tmp_niza[0] = tmp;
  72.         for(int i = 1; i <= broj_na_naocari; i++) {
  73.             tmp_niza[i] = ocila[i - 1];
  74.         }
  75.        
  76.         broj_na_naocari++;
  77.         ocila = tmp_niza;
  78.        
  79.         return *this;
  80.     }
  81.    
  82.     friend ostream & operator << (ostream & stream, Prodavnica tmp);
  83.    
  84. };
  85. ostream & operator << (ostream & stream, Prodavnica tmp) {
  86.     stream << tmp.ime << " " << tmp.lokacija << " " << tmp.broj_na_naocari << endl;
  87.    
  88.     for(int i = 0; i < tmp.broj_na_naocari; i++) {
  89.         stream << tmp.ocila[i].get_brend() << " " << tmp.ocila[i].get_broj_na_primeroci() << endl;
  90.     }
  91.     return stream;
  92. }
  93. int main() {
  94.    
  95.     Prodavnica p("Prime", "Skopje");
  96.    
  97.     Ocila o1("Ray Ban", 4);
  98.     Ocila o2("Polaroid", 7);
  99.     Ocila o3("Polar", 10);
  100.     Ocila o4("Tom Ford", 19);
  101.    
  102.     p += o1;
  103.     p += o2;
  104.     p -= o3;
  105.     p -= o4;
  106.    
  107.     cout << p << endl;
  108.     return 0;
  109. }
  110.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement