# Odpowiedzi — CPP01 Zbudować program z wielu jednostek translacji i odczytać granice nazw oraz linkage. ## Task01 — Deklaracja i definicja Rozdziel deklarację funkcji, definicję i punkt wejścia między trzy pliki. Oczekiwany stdout: `sum=7`. Pliki dowodu: `src/task01/calculator.cpp`, `src/task01/calculator.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 — Linkage zewnętrzny i wewnętrzny Porównaj symbol dostępny między plikami z nazwą ukrytą w anonimowej przestrzeni nazw. Oczekiwany stdout: `external=5 internal_bias_result=8`. Pliki dowodu: `src/task02/api.hpp`, `src/task02/global.cpp`, `src/task02/main.cpp`, `src/task02/shifted.cpp`. Wynik nie jest oceniany wzrokowo: test kompiluje kod bez ostrzeżeń, uruchamia go i wykonuje dokładne `diff` z plikiem `tests/expected`. ## Task03 — Kwalifikacja przestrzeni nazw Użyj dwóch funkcji o tej samej nazwie bez kolizji i wywołaj je kwalifikowaną nazwą. Oczekiwany stdout: `sensor=21 network=204`. 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`.