2026-07-21 20:13:54 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:13:54 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00
2026-07-21 20:11:42 +02:00

CPP06 — Hermetyzacja, niezmienniki i odpowiedzialność klasy

    Karta 06/10 kursu **C++ · Rok 2 · Semestr 1**. Standard: C++20.
    Oś merytoryczna: A Tour of C++ 3e: sekcja 4.3 i rozdział 5. 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 | `Walidowana zmiana stanu` | `accepted=1 rejected=1 value=25` |

| Task02 | Pojemność kolejki | pushes=2 overflow=1 pops=2 empty=1 depth=0 | | Task03 | Normalizacja przedziału | start=3 end=10 width=7 |

    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 CPP06 1
    stemctl test native-amd64 cpp CPP06 1
    stemctl test native-amd64 cpp CPP06 2
    stemctl debug native-amd64 cpp CPP06 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`.
S
Description
C++20 Year 2 semester 1 card
Readme 424 KiB
Languages
JavaScript 92.7%
Shell 5.1%
C++ 1.5%
HTML 0.4%
Makefile 0.3%