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