Programowanie obiektowe
Podejścia do programowania
Obiekty - stan i zachowanie
Własności języków obiektowych
Klasa, Obiekt, Klasa abstrakcyjna
Zależności pomiędzy klasami
Zawieranie, Używanie, Dziedziczenie
Kompilacja i łączenie kodu
Proste I/O
Kompilacja
Arytmetyka komputera
Komentarze
Przepływ sterowania
Konstrukcja if
Pętle
Switch - case
Typy liczbowe
Makra i Funkcje
Wskaźniki, Referencje, Napisy
wskaźnik, wskaźnik NULL
parametr funkcji typu const
referncja
dynamiczna alokacja pamięci
tablice wskaźników
operacje na napisach (C-Style)
konwersja typów
wycieki pamięci
Struktura, Klasa, Lista, Drzewo BST
Operator this, Przeciążanie operatorów, dziedziczenie
Dziedziczenie, polimorfizm, funkcje wirtualne
Konstrukcja i destrukcja obiektów
Dziedziczenie, wielokrotne dziedziczenie
Dziedziczenie wirtualne
Funkcje wirtualne
Destruktor wirtualny
Polimorfizm i typy: wskaźnikowy i referencyjny
Funkcje i klasy czysto wirtualne
Interfejs, dynamic_cast
Dziedziczenie vs. Kompozycja
Obsługa wyjątków
Co to jest wyjątek
Zgłaszanie i obsługa wyjątków
Wyjątki nieobsłużone
Obsługa zakończenia
Wskaźnik do funkcji
Procedury obsługi, przekazywanie wyjątku
Wyjątek a konstruktor i destruktor
Specyfikacja wyjątków, hierarchia wyjątków
Struktury w C++
Struktury danych a wydajność algorytmów
Notacje i złożoności
Tablice, lista pojedynczo i podwójnie wiązana
implementacja, wydajność
Kolejka i Stos
Inteligentny wskaźnik
typedef, register, volatile, go to, string (STL)
Szablony (ang. Templates)
Po co pisać szablony?
Szablony funkcji, użycie szablonów
Parametry szablonu
Jawna specyfikacja parametrów szablonu
Specjalizacje szablonów
Przeciążenie szablonu funkcji
Funkcja jako parametr szablonu
Szablony i kompilacja
Szablony klas
Inteligentny wskaźnik jako szablon
std::string też jest szablonem
Klasy i Szablony
Strumienie napisowe
Wskaźniki do pól i metod
Klasy zagnieżdżone
Dziedziczenie szablonów
Zagnieżdżone klasy szablonów
„„dziedziczenie”” parametrów szablonu przez klasę zagnieżdżoną po klasie okalającej
„„Szablon w szablonie””
Wykorzystanie szablonów i klas zagnieżdżonych
Biblioteka standardowa STL - kontenery
Biblioteka STL
Rodzaje kontenerów
Kolekcje, wymagania, koncepty
Rozmiar kontenera
Iteratory, iteracja po kolekcji
Wspólna definicja typów
std::vector
std::enque
std::list
Biblioteka standardowa STL - iteratory, kontenery, obiekty funkcyjne
Iterator
Rodzaje iteratorów
wejściowe, wyjściowe, “do przodu”, dwukierunkowe, swobodnego dostępu
Dodatkowa funkcjonalność iteratorów
Kontenery asocjacyjne
set, multiset, map, multimap, tablica asocjacyjna
Kryteria sortowania
Inne kontenery, stos, kolejka, kolejka priorytetowa, bitset
Obiekty funkcyjne
Wykład podsumowywujący cz. 1
Wykład podsumowywujący cz. 2