instr6

instr6



18

18


i


Zajęcia 6: Mechanizm dziedziczenia, funkcje wirtualne - cz. 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);

3. Funkcja główna

Zmodyfikuj odpowiednio interfejs użytkownika.

Katedra Podstaw Elektroniki Programowanie w języku C++ - 2FD r.a. 2008/2009


Wyszukiwarka