Skip to content

tborzyszkowski/cpp-programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cpp-programming

Materiały dydaktyczne do zajęć z programowania w C++. Każdy moduł zawiera slajdy w formacie Markdown, przykłady kodu źródłowego oraz diagramy PlantUML.

Wymagania

Narzędzie Wersja Zastosowanie
g++ / gcc ≥ C++17 kompilacja przykładów
CMake ≥ 3.14 testy jednostkowe (Google Test)
Java ≥ 8 generowanie diagramów PlantUML → PNG
PlantUML dowolna plik .jar pobierany automatycznie przez build.ps1

Szybki start

# Wszystko naraz (diagramy + programy + testy):
.\build.ps1

# Tylko diagramy PlantUML → PNG:
.\build.ps1 -Task diagrams

# Tylko programy C++:
.\build.ps1 -Task programs

# Tylko testy jednostkowe:
.\build.ps1 -Task tests

Zawartość

Moduł Temat Podtematy
01_OOP Programowanie obiektowe w C++ klasy, testy jednostkowe, kopiowanie, konstruktory, move semantics, const, składowe statyczne, friend, stos i sterta
02_Overload Przeciążanie operatorów w C++ wprowadzenie, przegląd operatorów, składnia i reguły, przypadki szczególne, przykłady, projekt Vec3D
03_STL Biblioteka Standardowa C++ (STL) historia, iteratory, kontenery sekwencyjne, kontenery asocjacyjne, algorytmy, funktory i lambdy, string, narzędzia ogólne
04_Lambda Wyrażenia Lambda w C++ historia callable, składnia, przechwycenie, zaawansowane techniki, zastosowania praktyczne
05_Concepts Szablony, Concepts i Type Erasure w C++ historia, szablony, concepts (C++20), duck typing, type erasure, moduły (C++20)

Struktura modułu

Każdy moduł jest podzielony na ponumerowane podkatalogi, każdy z plikami:

XX_NazwaModułu/
├── README.md               ← slajdy z wyjaśnieniami
├── src/
│   └── main.cpp            ← przykład kodu
├── *_diagram.puml          ← diagram PlantUML (źródło)
└── *_diagram.png           ← wygenerowany diagram

Moduł 01_OOP/02_unit_tests zawiera dodatkowo pełne środowisko CMake + Google Test.

About

Zajęcia z programowania w C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors