Wszystkie ćwiczenia


Ćwiczenia 8

OOP++

Więcej o dziedziczeniu

Zadanie 0: Samorozszerzalna tablica

std::vector to jeden z odpowiedników ulubionej przez programistów Javy ArrayListy. Jest "tablicą", która będzie sama zwiększać swój rozmiar.

Używaj tego, gdy klasa będzie miała trzymać kolekcję jakichś elementów.


#include <vector>

std::vector<int> v;
v.push_back(1);
v.push_back(3);
v.push_back(3);
v.push_back(7);

// traktując jak tablicę
for(size_t i = 0; i < v.size(); ++i)
    std::cout << v[i] << std::endl;

// używając iteratora
for (std::vector<int>::iterator it = v.begin(); it != v.end(); ++it)
    std::cout << *it << std::endl;

Zadanie 1: Pojazd i jego części

Napisz klasę CzescPojazdu oraz Pojazd. Pojazd składa się z części, które w dowolnym częście można zamontować i wymonotować.

Zadanie 2: Samochód

Samochód to pojazd, który jeździ po lądzie.

Powinien mieć metodę: "jedz".

Aby samochód mógł jechać, musi mieć silnik.

Zadanie 3: Łódź

Łódź to pojazd, który pływa po wodzie.

Powinna mieć metodę: "płyń".

Każda łódź musi mieć harpun.

Zadanie 4: Amfibia

Amfibia jest łodzią i samochodem.

Powinna mieć metodę "poruszajSie", która wywołuje metodę z klasy bazowej w zależności od typu terenu, na którym się znalazła.