Zadanie 11.
Ogólne wymagania do projektu 2:
Program powinien mieć napisany prawidłowy makefile.
W ramach zadania należy wykorzystać funkcje wirtualne. W programach testujących należy wykorzystać klasy stworzone w ramach pierwszego zadania.
W ramach projektu należy przygotować program testujący następujące funkcjonalności:
a) testowanie możliwości klas (tworzący wiele obiektów i sprawdzających poprawność działania metod (np. Sprawdzanie czy dane obiekty należą do danego obiektu)
b) automatyczne testowanie zaimplementowanego kodu (należy przygotować zestaw asercji dla każdej metody dodawanej do kodu).
Program powinno uruchomić się w normalnym trybie do przetestowania poprawności działania przez prowadzącego.
Klasy oraz funkcje powinny posiadać stosowne opisy.
Preferowanym językiem opisu i nazywania zmiennych jest język angielski.
Dodatkowo klasy powinny mieć destruktory zwalniający pamięć.
Treść zadania:
Utworzyć klasę wzorcową KOMIS. Klasa wzorcowa będzie przechowywała następujące typy:
a) samochody
b) obrazy
c) rowery
d) biżuterię
Do każdego typu obiektu należy stworzyć osobną klasę z podstawowymi metodami.
Należy stworzyć klasy dziedziczące po klasie KOMIS:
a) mały komis (może trzymać ograniczoną liczbę rzeczy w jednej chwili czasu)
b) komis spekulacyjny (skupuje wszystko, ale często sprzedaje część rzeczy)
Klasa KOMIS musi posiadać następujące metody:
1. dodanie elementu
2. pobranie elementu
3. sprawdzenie czy dany element jest w danym komisie czy nie
4. sprawdzenie na którym miejscu u komisie aktualnie znajduje się nasz obiekt
Każdy z komisów ma ograniczone możliwości co do kupowania rzeczy. Przy wstawianiu elementu, który jest już poza możliwościami komisu w zależności od typu komisu musi zostać wykona jedna z następujących akcji:
a) informacja - „Nie możemy kupić tej rzeczy” (mały komis)
b) prośba o wybranie obiektu do usunięcia z listy w komisie (tj. Do szybkiego sprzedania (komis spekulacyjny)