Files
lab-cpp-classes-objects/answers/solutions.md
T
2026-07-21 20:11:42 +02:00

34 lines
1.1 KiB
Markdown

# Odpowiedzi — CPP05
Zamknąć stan i operacje w klasie oraz oddzielić interfejs publiczny od implementacji.
## Task01 — Klasa w dwóch plikach
Zdefiniuj interfejs licznika w nagłówku, a metody w osobnej jednostce translacji.
Oczekiwany stdout: `counter=3`.
Pliki dowodu: `src/task01/counter.cpp`, `src/task01/counter.hpp`, `src/task01/main.cpp`.
Wynik nie jest oceniany wzrokowo: test kompiluje kod bez ostrzeżeń, uruchamia go i wykonuje dokładne `diff` z plikiem `tests/expected`.
## Task02 — Stan prywatny
Udostępnij operacje rachunku bez publicznego zapisu pola balance.
Oczekiwany stdout: `accepted=1 rejected=1 balance=15`.
Pliki dowodu: `src/task02/main.cpp`.
Wynik nie jest oceniany wzrokowo: test kompiluje kod bez ostrzeżeń, uruchamia go i wykonuje dokładne `diff` z plikiem `tests/expected`.
## Task03 — Metody opisują zachowanie
Przenieś obliczenie pola i skalowanie do obiektu prostokąta.
Oczekiwany stdout: `area=24 scaled=96`.
Pliki dowodu: `src/task03/main.cpp`.
Wynik nie jest oceniany wzrokowo: test kompiluje kod bez ostrzeżeń, uruchamia go i wykonuje dokładne `diff` z plikiem `tests/expected`.