feat: implement CPP01 C++20 card

This commit is contained in:
user
2026-07-21 20:11:42 +02:00
commit d4c8b3ed9a
41 changed files with 7624 additions and 0 deletions
+33
View File
@@ -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`.