# CPP07 — Konstruktory, destruktory i inicjalizacja obiektu Karta 07/10 kursu **C++ · Rok 2 · Semestr 1**. Standard: C++20. Oś merytoryczna: A Tour of C++ 3e: rozdziały 5 i 6. Materiał książkowy jest parafrazowany; repozytorium zawiera samodzielne eksperymenty i testy, a nie kopię książki. ## Taski | Task | Temat | Dokładny dowód stdout | | --- | --- | --- | | Task01 | `Kolejność konstrukcji` | `member / object / ready` | | Task02 | `Destrukcja w odwrotnej kolejności` | `enter / construct=A / construct=B / destroy=B / destroy=A / leave` | | Task03 | `Konstruktor delegujący` | `point=0,0 other=3,4` | Każdy task jest osobnym programem w `src/task0N`. Test kompiluje wszystkie jednostki translacji poleceniem zgodnym z `-std=c++20 -Wall -Wextra -Wpedantic -Werror`, uruchamia program i porównuje dokładny wynik. ## Uruchomienie ```bash stemctl build native-amd64 cpp CPP07 1 stemctl test native-amd64 cpp CPP07 1 stemctl test native-amd64 cpp CPP07 2 stemctl debug native-amd64 cpp CPP07 3 ``` Lokalnie można użyć `make build`, `make test TASK=task02` i `make trace TASK=task03`. Ślad debuggera trafia do `.stem/artifacts`. ## Granica semestru Ta seria nie uczy API RTOS, zaawansowanych kontenerów STL ani współbieżności. Są to osobne bloki następnych semestrów opisanych w `/home/user/dev/keys/cxx.md`.