„Biblioteka Sobczak Natalia
Download 69.33 Kb.
|
Projekt Sobczak 10B
Etap 3. Użycie agregacji
Zagnieżdżenie klas (tylko w polu prywatnym) private: //czytelnik.h class PESEL { bool pesel_poprawny(const std::string pesel) { if (pesel.size() != 11) { return false; } if (pesel.find_first_not_of("0123456789") != std::string::npos) { return false; } return true; } }; Użycie mechanizmu przyjaźni friend std::ostream & operator<<(std::ostream &os, const Biblioteka& biblioteka); Użycie konstruktorów (kopiującego, delegującego, domyślnego Ksiazka::Ksiazka(const std::string &nazwa, const std::string &isbn, unsigned int wydanie, const std::string &autor, const std::string &typDzialu) : nazwa(nazwa), isbn(isbn), wydanie(wydanie), autor(autor), typ_dzialu( typDzialu) { // ETAP 3 konstruktor delegujacy i jednoczesnie domyslny ++ilosc_ksiazek_wyprodukowanych_kiedykolwiek; } Ksiazka::Ksiazka(const Ksiazka &ksiazka) { // konstruktor kopiujacy this->autor = ksiazka.autor; this->isbn = ksiazka.isbn; this->nazwa = ksiazka.nazwa; this->typ_dzialu = ksiazka.typ_dzialu; this->wydanie = ksiazka.wydanie; ++ilosc_ksiazek_wyprodukowanych_kiedykolwiek; } Ksiazka::~Ksiazka() { --ilosc_ksiazek_wyprodukowanych_kiedykolwiek; } ParametryWyszukiwania::ParametryWyszukiwania(const std::optional const std::optional const std::optional const std::optional nazwa(nazwa), wydanie(wydanie) {} //ETAP 3 konstruktor delegujacy } Biblioteka::~Biblioteka() { //ETAP 3 destruktor if (this->czytelnicy != nullptr) { delete[] this->czytelnicy; this->czytelnicy = nullptr; } if (this->ksiazki != nullptr) { delete[] this->ksiazki; this->ksiazki = nullptr; } if (this->wypozyczenia != nullptr) { delete[] this->wypozyczenia; this->wypozyczenia = nullptr; } } Użycie specyfikatora deklaracji auto Wypozyczenie *Bibliotekarz::wypozycz_ksiazke(Ksiazka *ksiazka, Czytelnik *czytelnik) { auto *nowe_wypozyczenie = new Wypozyczenie(ksiazka, czytelnik); biblioteka->dodaj_wypozyczenie(nowe_wypozyczenie); return nowe_wypozyczenie; } Download 69.33 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling