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