Zaawansowane CPP/Wstęp
Niniejszy wykład poświęcony jest zaawansowanym metodom programowania w C++. Słowo "zaawansowane" brzmi być może pretensjonalnie, ale oznacza po prostu metody nie nauczane zwykle przy pierwszym podejściu do programowania obiektowego. Zakładmy więc że czytelnik ma za sobą ukończony kurs programowania obiektowego i zna C++ w stopniu umożliwiającym czytanie i pisanie prostych programów z użyciem klas, dziedziczenia , funkcji wirtualnych itp.
Ostrzeżenie
Korzystanie z przykładów
Wykład ilustrowany jest licznymi przykładami. W więkoszości przypadków w tekście zamieszczone są tylko istotne fragmenty kodu potrzebne do jego zrozumienia. Przy takich fragmentach zamieszczone są odnośniki prowadzace do całości kodu. Zwykle jest to pojedynczy plik *.cpp. Zrezygnowaliśmy z tradycyjnego podziału na pliki *.cpp i *.h na rzecz większej czytelności przykładów. Należy jednak pamiętać że taka organizacja kodu możliwa jest tylko dla bardzo małych programów, takich jak nasze przykłady. Niektóre przykłady mają za zadanie demonstrować niepoprawność pewnych konstrukcji. W takim kodzie niekompilowalne linijki są wyraźnie oznaczone i wykomentowane. Zachęcamy jednak usilnie do odkomentowania tych linijek i przekonanie się naocznie o niepoprawności tych konstrukcji.
Wszystkie przykłady były testowane za pomocą kompilatora g++-4.0.3.