Podstawowe wymagania względem projektów zaliczeniowych

  1. przynajmniej kilka klas, w tym przynajmniej jedna klasa abstrakcyjna (lub interfejs)
  2. dziedziczenie
  3. przeciążenie metod
  4. konstruktory i destruktory, w tym konstruktor kopiujący
  5. poprawna hermetyzacja danych
  6. przeciążenie operatorów, w tym dociążony operator przypisania
  7. wykorzystanie kolekcji szablonowej (lub nawet utworzenie własnej klasy, metody lub funkcji szablonowej)
  8. wykorzystanie algorytmów operujących na kolekcjach szablonowych
  9. operacje na plikach (odczyt, zapis danych)
  10. logiczna organizacja projektu w osobnych plikach źródłowych i nagłówkowych
  11. wykorzystanie metod wirtualnych
  12. właściwe użycie typów
  13. dbałość o czytelność kodu