Skrócony opis:
Na wykładzie prezentowane są najważniejsze pojęcia: klasa, obiekt, kapsułkowanie, dziedziczenie i polimorfizm, przeciążone operatory, operatory konwersji oraz krótkie wprowadzenie do programowania generycznego: podstawowe szablony (wzorce) funkcji i klas. Podawane są przykłady realizacji dla języka C++. Krótko omówione są też podstawy modelowania i projektowania obiektowego. W ramach laboratorium studenci opracowują programy ilustrujące kolejne zagadnienia przedstawiane na wykładzie.
Zakres tematów:
- Operatory, tablice i arytmetyka wskaźników
 - Funkcje, C-napisy, struktury i unie, dostęp do plików
 - Dostęp do plików, zmienne dynamiczne
 - Listy dynamiczne jedno i dwukierunkowe
 - Weryfikacja założeń projektowych i sprawdzanie błędów (assert), podział kodu programu na pliki, inne funkcje (time, system)
 - Analiza i projektowanie obiektowe
 - Różnice C i C++. Wprowadzenie do klas i obiektów
 - Relacja „friend”. Konstruktory i destruktory: tworzenie i usuwanie obiektu
 - Inne sposoby inicjalizacji pól obiektu, listy dynamiczne obiektów
 - Dziedziczenie i prawa dostępu, polimorfizm i destruktory wirtualne
 - Wskaźniki klasowe, przestrzenie nazw, przeciążanie operatorów
 - Przeciążanie a dziedziczenie, operatory globalne i składowe klas, automatyczna konwersja typów
 - Szablony funkcji i klas
 - Strumienie, przeciążanie operatorów wejścia i wyjścia
 - Strumienie i ich polecenia formatujące
 
