Nowoczesne programowanie w języku C++
Cele szkolenia
Uczestnicy szkolenia nauczą się:
- używać instrukcji sterujących działaniem programu
- tworzyć funkcje i moduły
- stosować zasady programowania zorientowanego obiektowo w C++
- bezpiecznie zarządzać pamięcią za pomocą smart pointer'ów
- tworzyć klasy i obiekty
- stosować dziedziczenie i polimorfizm
- używać strumieni
Plan szkolenia
Podstawy programowania w języku C++
- Struktura programu w języku C++
- Kompilacja oraz łączenie programów
- Preprocesor
- Typy danych, operatory i instrukcje sterujące
- Deklaracje zmiennych oraz stałych, zasięg zmiennych
- Automatyczna dedukcja typów – słowo kluczowe auto
- Konwersje typów
- Wskaźniki i referencje
Organizacja kodu - funkcje i moduły
- Definiowanie funkcji
- Przekazywanie parametrów do funkcji
- Pliki nagłówkowe i pliki źródłowe
- Organizacja kodu – bariery #include
- Przestrzenie nazw
Tablice, kontenery STL i iteratory
- Tablice w języku C++ – tablice natywne i
std::array<T>
- Iteracja po zakresach – wskaźniki, iteratory, range-based-for
- Łańcuchy znaków – c-łańcuchy i typ
std::string
- Podstawowe kontenery STL
std::vector<T>
std::list<T>
std::map<K, T>
istd::unordered_map<K, T>
Programowanie obiektowe
- Typy użytkownika – struktury, klasy
- Funkcje składowe – metody
- Konstruktory
- Zarządzanie zasobami - RAII
- Destruktory
- Specjalne funkcje kopiujące
- Specjalne funkcje przenoszące – wstęp do semantyki przenoszenia
- Przeciążanie operatorów dla klas
- Zarządzanie pamięcią dla obiektów – smart pointery
std::unique_ptr
std::shared_ptr
Funktory i lambdy
- Obiekty wywoływalne w C++11
- Funktory
- Lambdy
std::function
– callbacki w C++11- Wykorzystanie lambd w algorytmach standardowych STL
Dziedziczenie i polimorfizm
- Klasy pochodne
- Konstruktory i destruktory a dziedziczenie
- Dostęp do składowych klasy bazowej
- Przeciążenie i przesłanianie funkcji składowych
- Dziedziczenie publiczne, chronione i prywatne - widoczność składowych w klasach pochodnych
- Statyczne i dynamiczne wiązanie funkcji
- Funkcje czysto wirtualne
- Destruktory wirtualne
- Klasy abstrakcyjne
- Polimorfizm w języku C++
- Przykład zastosowania polimorfizmu
Dziedziczenie wielobazowe
- Przykład dziedziczenia wielokrotnego
- Problemy związane z dziedziczeniem wielobazowym
- Wirtualne klasy bazowe
Obsługa wyjątków
- Koncepcja obsługi sytuacji wyjątkowych
- Bloki
try... catch
- Standardowe klasy wyjątków
- Klasy wyjątków użytkownika
Strumienie
- Koncepcja strumieni w C++ – opis biblioteki
iostream
- Strumienie
std::cin
,std::cout
orazstd::err
- Strumienie plikowe
Wymagania
Od uczestników szkolenia wymagana jest znajomość podstaw programowania (np. C, Pascal, Java, Python, itp.).
Czas trwania
4 dni po 8 godzin lekcyjnychWycena szkolenia zamkniętego
Szkolenie zamknięte w siedzibie Klienta.
Klient zapewnia salę szkoleniową i sprzęt.
Zapytaj o termin i cenęTerminy szkoleń otwartych
zdalne 13-16.1.2025 |
3490 PLN | Zgłoś udział |
Pasuje Ci inny termin?
Wyślij zapytanie