C++ / dziedziczenie klas
1. Zdefiniuj następującą hierarchię:
• Klasa Pojazd jest opisana przez atrybuty: właściciel (typu string) oraz przebieg (typu
int). → Pojazd p(”Jan Kowalski”, 10000);
• Klasa PojazdSilnikowy dziedziczy z Pojazd, zawiera ponadto pojemność silnika (flo-
at) oraz moc km (int). → PojazdSilnikowy ps(”Jan Kowalski”, 10000, 1.4, 90);
• Klasa PojazdOsobowy dziedziczy z PojazdSilnikowy, zawiera ponadto markę (typu
string). → PojazdOsobowy po(”Jan Kowalski”, 10000, 1.4, 90, ”Fiat”);
2. Wszystkie klasy powinny posiadać konstruktory, pozwalające przekazać wartości atrybutów.
Błędne wartości argumentów konstruktorów powinny być zgłaszane poprzez wyjątki.
3. Wszystkie klasy powinny zawierać wirtualną metodę wypisz(), wyświetlającą opis klasy
(wartości atrybutów) na konsolę.
4. Klasa Pojazd powinna zawierać abstrakcyjną metodę mocKW, zwracającą moc pojazdu w
KW (1KM=0.7KW), zdefiniowaną kompletnie w klasie PojazdSilnikowy.
5. W funkcji main należy zamieścić kod testujący zaimplementowane klasy i metody – w szcze-
gólności należy zdefiniować tablicę przechowującą tworzone dynamicznie obiekty zaimple-
mentowanych klas pochodnych.