Zadanie 15.
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ą MAKLER. Klasa wzorcowa będzie przechowywała następujące produkty pieniężne:
a) akcje
b) zakłady
c) bony
d) opcje walutowe
Do każdego produktu należy stworzyć osobną klasę z podstawowymi metodami.
Należy stworzyć klasy dziedziczące po klasie MAKLER:
a) makler typu „student” (ma ograniczone fundusze; kupuje mało i na dłuższy czas)
b) makler spekulacyjny (kupuje wszystko, ale również ma ograniczone fundusze i w przypadku braku funduszy sprzedaje inne produkty)
Klasa MAKLER musi posiadać następujące metody:
1. dodanie produktu
2. pobranie produktu
3. sprawdzenie czy dany produkt jest u danego maklera czy poza nim
4. sprawdzenie na którym miejscu u maklera aktualnie znajduje się nasz obiekt
Każdy z maklerów ma ograniczone możliwości co do budowania budynków. Przy wstawianiu elementu, który jest już poza możliwościami maklera w zależności od typu maklera musi zostać wykona jedna z następujących akcji:
a) informacja - „Nie możemy kupić danego produktu - brak środków” (makler typu „student”)
b) prośba o wybranie produktu do sprzedaży z listy (makler spekulacyjny)