feat: implement CPP01 C++20 card
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user