18
18
■
i
I, Rozbudowa klasy Pracownik
IX> kUsy Pracowni k dedąj dwie poniżę tlmkcjc:
• wirtualną funkię vi rt.ua 1 void Wypis z Dana () , która rnn wypisywać na ekran wszystkie dane o pracowniku;
• wirtualną funkcję yirtual Pracownik* KopiaObiektu(), której zadaniem jest zwrócenie nowo stworzonego obiektu (na wzór danego).
1 Opracowanie klasy Spriadawoa
Do projektu dodaj klasę o nazwie Sprzedawca pochodną klasy Pracowni k.
Dodanie danych składowych do klasy Spraodawoa W części prywatnej zadeklaruj następujące pola składowe:
• chor** lajpListaSpr zadanych;
• int UMnlloscSprzedanych;
• int MMoKaitlloscSpr zadanych; o char* uypszStanowisko;
Dodanie funkcji składowych do klasy Spraodnwon W części ruhliesnei zadeklaruj następujące funkcje składowe:
• konstnikKY domyślny inicjujący wszystkie składowe obiektu klasy;
• konstruktor kopiujący inicjujący poła składowe obiektu bazując na wzorcu;
• destruktor zwalniający pamięć;
• operator przypisania;
• operator porównania:
bool operator—(const Sprzedawca & wzór) const;
funkcja ma zwracać true gdy dane składowe obiektów są jednakowe, fal se w przeciwnym wypadku
• funkcję void WstawSprzTowar (char* sprzTowar). wstawiającą w pierwsze wolne miejsce (jeśli istnieje) tablicy towar określony w argumencie funkcji;
• wirtualną funkcję Yirtual void WypiszDane (), która ma wypisywać na ekran wszystkie dane o sprzedawcy oraz listę sprzedanych przez niego towarów;
• wirtualną funkcję Yirtual Pracownik* KopiaObiektu (). której zadaniem jest zwrócenie nowo stworzonego obiektu (na wzór danego);
• funkcję char* PokazSprzTowar (int i) const, której zadaniem jest zwrócenie informacji o i-tym sprzedanym towarze. W przypadku, gdy argument funkcji jest większy niż liczba sprzedanych towarów danego obiektu, należy zwrócić ostatni sprzedany towar;
• globalną, zaprzyjaźnioną z klasą Sprzedawca funkcję operatorową wstawiania do strumienia wyjściowego. Zadaniem tej funkcji jest wyprowadzenie informacji o danym sprzedawcy. Działanie funkcji przetestuj na strumieniach:
ostreaw 4 cperator« (ostream & wy, const Sprzedawca | s);
• globalną, zaprzyjaźnioną z klasą Sprzedawca funkcję operatorową pobierania ze strumienia wejściowego. Zadaniem tej funkcji jest wprowadzenie informacji do danych składowych obiektu klasy Dziabnie funkcji przetestuj na strumieniach:
istream 4 opera tor»(istream 4 we. Sprzedawca 1 s);
Zmodyfikuj odpowiednio interfejs użytkownika.
Katedra Podstaw Elektroniki Programowanie w języku C++ - 2FD r.a. 2008/2009