Podstawowe wymagania względem projektów zaliczeniowych
- przynajmniej kilka klas, w tym przynajmniej jedna klasa abstrakcyjna (lub interfejs)
- logiczna organizacja projektu w plikach źródłowych i nagłówkowych
- dziedziczenie
- przeciążenie metod
- wykorzystanie metod wirtualnych
- konstruktory i destruktory, w tym konstruktor kopiujący oraz konstruktor domyślny
- poprawna hermetyzacja danych, odpowiednie użycie modyfikatorów dostępu (
public,private,protected) - przeciążenie operatorów, w tym dociążony operator przypisania
- wykorzystanie kolekcji szablonowej (lub nawet utworzenie własnej klasy, metody lub funkcji szablonowej)
- wykorzystanie algorytmów operujących na kolekcjach szablonowych
- operacje na plikach (odczyt, zapis danych)
- właściwe użycie typów danych, w tym typów wskaźnikowych i referencyjnych
- obsługa wyjątków, w tym utworzenie własnych klas wyjątków
- czytelność kodu, w tym odpowiednie nazewnictwo zmiennych, funkcji i klas, a także formatowanie kodu
- wykorzystanie dynamicznego przydziału pamięci (
new,delete)