Materiały z kursu C++ (Lipiec 2019 - Wrzesień 2019)
- Zapoznaj się ze ściągą o polimorfiźmie
- Prezentacja Obiektowy C++
- Pre-test
- Post-test
- Repozytorium z wstępnym projektem
- Branch z naszym rozwiązaniem z zajęć
- Kolejność inicjalizacji
- 20.07.2019 Obiektowy C++: wstęp
- 20.07.2019 Obiektowy C++: 4 filary obiektowość
- 20.07.2019 Obiektowy C++: projekt Cars
- 20.07.2019 Obiektowy C++: abstrakcja
- 20.07.2019 Obiektowy C++: enkapsulacja
- 20.07.2019 Obiektowy C++: dziedziczenie
- 20.07.2019 Obiektowy C++: polimorfizm
- 20.07.2019 Obiektowy C++: abstrakcja w projekcie Cars
- 20.07.2019 Obiektowy C++: implementacja w projekcie Cars
- 20.07.2019 Obiektowy C++: praca domowa

Pracujcie w parach lub po 3 osoby na wspólnym repo. Punkty zostaną przyznane wszystkim osobom w grupie, których commity będą widoczne w PR.
- (2 punkty) Naprawcie enkapsulację, aby m.in. nie można było wymienić silnika podczas jazdy samochodem
- (2 punkty) Naprawcie wycieki pamięci poprzez zwalnianie zaalokowanych obiektów (silników) w odpowiednich destruktorach
- (2 punkt) Dodajcie do samochodów pole
velocity, które będzie przechowywać aktualną prędkość pojazdu i modyfikujcie je odpowienio w funkcjachaccelerate()orazbrake() - (3 punkty) Poprawcie interfejs, aby był jak najmniej podatny na niewłaściwe użycie (np. accelerate(-999))
- (4 punktów) Napiszcie w dowolny sposób kilka testów do obecnej funkcjonalności, m.in. sprawdzających pole
velocity. Nie musicie używać żadnego frameworka, jeśli nie znacie. Wystarczy funkcjaassert(). - (2 punkty) Utwórzcie wyjątek InvalidGear, który powinien być rzucony w momencie, gdy ktoś próbuje np. zmienić bieg z 5 na R. Powinien on dziedziczyć z jednego z wyjątków z biblioteki standardowej
- Zapoznaj się z opisem kontenerów
- Playlista na YT odnosnie STLa - obejrzyj ile mozesz :)
- Przeczytaj artykuł Marcina Pietraszka o złożoności obliczeniowej
-
Gettery powinny być constowe, bo nie zmieniają one żadnego pola klasy.
int getValue() const;