# 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`.