1.3 KiB
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.