34 lines
1.1 KiB
Markdown
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`.
|