Zadanie 14.
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ą ZADANIE typu LIFO (Last In, First Out; ostatni na wejściu, pierwszy na wyjściu), która będzie przechowywała obiekty różnych typów (zadanieDom, zadanieStudia, zadaniePraca). Należy stworzyć klasy dziedziczące po tej klasie (minimum 3):
a) zadanie priorytetowe
b) zadanie ważone
c) zadanie losowe
d) ...
Klasa wzorcowa poza typem obiektu musi mieć następujące atrybuty:
a) priorytet (w skali 1-5)
b) wagę
Klasa ZADANIE musi posiadać następujące metody:
5. wstawienie do bufora
6. pobranie z bufora
7. usunięcie z bufora
8. sprawdzenie na którym miejscu aktualnie znajduje się nasze zadanie w buforze