Poniższy materiał pomaga w dokładniejszym poznaniu C++. Pisząc te materiały zakładano, że jesteście już po pierwszym kursie programowania, że nieobce są Wam pojęcia zmiennych, pętli, procedur, klas, dziedziczenia, itp ... - choć niekoniecznie musicie to znać w standardzie C++, albo też - Wasza znajomość C++ jeszcze nie jest pełna. Celem materiałów jest ilustracja programowania właśnie w C++. Posiłkując się słowami twórcy języka: czyli Bijarne Stroumtroupa:

„... Pisanie dobrych programów wymaga inteligencji, smaku i cierpliwości . . . ”

Programowanie w C++ do najłatwiejszych nie należy - ale efekt końcowy - program - może należeć do tych najszybszych. By tak było – należy znać specyfikę języka. Całość materiałów podzielono zatem na cztery części. W pierwszej z nich omówiono typy danych, powiązania ze sprzętem, podano informacje o funkcjach. W drugiej części przedstawiono wprowadzenie do programowania obiektowego przy wykorzystaniu składni C++, wraz z zagadnieniami dziedziczenia i polimorfizmu, Trzeci moduł jest poświęcony opisowi tworzenia szablonów w języku C++. Ostatni moduł poświęcono zastosowaniom – omówiono biblioteki STL i BOOST, oraz pokazano kilka przykładowych aplikacji.

Materiały mogą dla części z Was być o tyle ciekawe - że ich autorem nie jest informatyk z wykształcenia. Autor jest pracownikiem Instytutu Automatyki i Robotyki Politechniki Warszawskiej, i prezentuje zarówno język jak i techniki w nim dostępne z perspektywy zastosowania jako narzędziem do tworzenia oprogramowania w zastosowaniach przemysłowych.


1. Podstawowa składnia języka

Moduł jest poświęcony omówieniu składni języka C++. W tej części zwrócono uwagę na formalny sposób zapisu kodu programu w języku C++. Przedstawiono typy danych dostępne w języku. Omówiono sposób przechowywania danych, zasady konwersji jawnej i niejawnej. Przedstawiono i opisano operatory stosowane w języku C++. Omówiono dostępne instrukcje i pętle wraz z przykładami implementacji. Moduł kończy się przedstawieniem możliwości definiowania i wykonywania funkcji / ...

2. Obiekty i klasy

Moduł omawia możliwości programowania obiektowego i zorientowanego obiektowo przy wykorzystaniu C++. Zaczyna się od wprowadzenia paradygmatu programowania obiektowego, oraz przedstawienia podstawowej składni definicji klas i obiektów. Przedstawiono ochronę danych w klasach, zasady dostępu do pól, konstruktory i destruktory. Pokazano przykład hermetyzacji danych. Omówiono metody i pola statyczne w klasach. Przedstawiono zasady zapisu dziedziczenia prostego i wielokrotnego, ...

3. Szablony

Moduł o szablonach języka C++ prezentuje kluczowy mechanizm, który umożliwia programistom pisanie ogólnych, generycznych funkcji i klas. Szablony pozwalają zapisywać algorytmy niezależnie od typu danych na których operują, co zwiększa elastyczność i ponowne wykorzystanie kodu. Omówiono składnię szablonów funkcji i klas, pokazując, jak definiować ogólne algorytmy i struktury danych. Szablony pozwalają na dynamiczne generowanie kodu dla różnych typów danych, co prowadzi do ...

4. Zastosowania

Na początku tego modułu zamieszczono opis możliwości podstawowych elementów biblioteki STL,  prezentując kluczowe narzędzie, które ułatwia programistom pracę z zaawansowanymi strukturami danych i algorytmami. STL to zestaw gotowych szablonów klas i funkcji, które znacznie ułatwiają pisanie efektywnego i modularnego kodu. Omówiono główne komponenty STL, takie jak kontenery (np. vector, list, map), algorytmy (np. sortowanie, wyszukiwanie, transformacja) oraz iteratory, które...