#include "stdafx.h" #include #include using namespace std; //-----------------------------------------------// class wypozyczalnia { public: int * ilosc_wypozyczonych; int * ilosc_na_stanie; int * liczba_pracownikow; wypozyczalnia() {}; wypozyczalnia(int licz_p, int licz_wyp, int il); ~wypozyczalnia(); wypozyczalnia& operator=(wypozyczalnia & wyp); int operator-(wypozyczalnia & wyp); void operator/(wypozyczalnia & wyp); void operator+(wypozyczalnia & wyp); void operator+(double licz); void operator<<(int mult); }; wypozyczalnia::wypozyczalnia(int licz_p, int licz_wyp, int il) { ilosc_na_stanie = new int; liczba_pracownikow = new int; ilosc_wypozyczonych = new int; *ilosc_na_stanie = il; *liczba_pracownikow = licz_p; *ilosc_wypozyczonych = licz_wyp; } wypozyczalnia::~wypozyczalnia() { cout << "obiekt_usunieto" << endl; delete ilosc_na_stanie; delete ilosc_wypozyczonych; delete liczba_pracownikow; } //-----------------------------------------------// wypozyczalnia& wypozyczalnia::operator=(wypozyczalnia& wyp) { //----------------------Czesc destruktorowa-------------------------// delete ilosc_na_stanie; delete ilosc_wypozyczonych; delete liczba_pracownikow; //----------------------Czesc konstruktorowa-------------------------// ilosc_na_stanie = new int; liczba_pracownikow = new int; ilosc_wypozyczonych = new int; *ilosc_na_stanie = *wyp.ilosc_na_stanie; *liczba_pracownikow = *wyp.liczba_pracownikow; *ilosc_wypozyczonych = *wyp.ilosc_wypozyczonych; return wyp; } int wypozyczalnia::operator-(wypozyczalnia& wyp) { *ilosc_na_stanie = *ilosc_na_stanie - *wyp.ilosc_na_stanie; *liczba_pracownikow = *liczba_pracownikow - *wyp.liczba_pracownikow; *ilosc_wypozyczonych = *ilosc_wypozyczonych - *wyp.ilosc_wypozyczonych; return *wyp.ilosc_na_stanie - *ilosc_na_stanie; } void wypozyczalnia::operator/(wypozyczalnia& wyp) { *ilosc_wypozyczonych = *ilosc_wypozyczonych / (2 * (*wyp.ilosc_wypozyczonych)); } void wypozyczalnia::operator+(double licz) { *ilosc_wypozyczonych = *ilosc_wypozyczonych + licz; } void wypozyczalnia::operator+(wypozyczalnia& wyp) { *ilosc_na_stanie = *ilosc_na_stanie + *wyp.ilosc_na_stanie; *liczba_pracownikow = *liczba_pracownikow + *wyp.liczba_pracownikow; *ilosc_wypozyczonych = *ilosc_wypozyczonych + *wyp.ilosc_wypozyczonych; } void wypozyczalnia::operator<<(int mult) { cout << "liczba pracownikow to : " << *liczba_pracownikow << endl; cout << "pomnozona liczba pracownikow przez " << mult << " wynosi " << *liczba_pracownikow*mult<