16.11.2014 Views

Programowanie obiektowe C++ Informatyka/Automatyka i ...

Programowanie obiektowe C++ Informatyka/Automatyka i ...

Programowanie obiektowe C++ Informatyka/Automatyka i ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4 Podstawy techniki dziedziczenia<br />

1. Podać deklaracje klasy podstawowej oraz klas pochodnych (przeanalizować również, czy<br />

poszczególne nazwy klas są odpowiednie, czy istnieje możliwość ich zmiany na bardziej<br />

adekwatne), tak aby odzwierciedlały poniższy digraf relacji pomiędzy klasami:<br />

Każda z klas ma posiadać zadeklarowaną funkcję wyświetlającą figurę o nazwie rysuj().<br />

Zdefiniować obiekty i napisać przykładowe wywołania z zastosowaniem funkcji rysuj().<br />

2. Zadeklarować klasę podstawową oraz klasy pochodne, tak aby odzwierciedlały następujący<br />

digraf relacji pomiędzy klasami:<br />

Zrealizować ćwiczenie bez oraz ze uwzględnieniem klas wirtualnych. Zdefiniować obiekty i<br />

napisać przykładowe wywołania funkcji. Jaki jest dostęp do pól klas podstawowych bądź<br />

poprzednich w klasach pochodnych?<br />

3. Dane są klasy:<br />

class A { private: int a;};<br />

class B { protected: int b;};<br />

class C { public: int c;};<br />

class D : protected A, public B {};<br />

class E : public D, protected C {public: A::c;};<br />

class F : private E, public A {};<br />

Zrealizować następujące ćwiczenia:<br />

(a) odtworzyć diagram dziedziczenia,<br />

(b) określić kolejność wywoływania konstruktorów dla każdej z klas,<br />

(c) określić rodzaj dostępu do zmiennych a, b, c w klasach D, E oraz F .<br />

4. Dane są szkielety klas:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!