- Тема 1: Преговор на указатели, референции и динамична памет. Увод в ООП. Енумерации. Структури и обединения. Инстанции и обекти. Представяния в паметта. Работа с функции, които приемат инстанции/обекти.
- Тема 2: Потоци и Файлове (част 1). Текстови файлове.
- Тема 3: Потоци и Файлове (част 2). Двоични файлове.
- Тема 4: Член-функции. Жизнен цикъл на обект. Конструктори и деструктор. Капсулация. Модификатори за достъп. Член-функции get и set.
- Тема 5: Разделна компилация .h .cpp. Композиция и агрегация. Копиращ конструктор и оператор=. Извикване на конструктор, деструктор, копиращ конструктор, оператор= при композиция.
- Тема 6: Голямата четворка (Rule of four)
- Тема 7: Предефиниране на оператори. Приятелски класове и функции.
- Тема 8: Ключова дума static. Изключения. Масиви от указатели към обекти.
- Тема 9: Масиви от указатели към обекти. Move семантики.
- Тема 10: Наследяване.
- Тема 11: Статично и динамично свързване. Виртуални функции. Полиморфизъм. Абстрактни класове. Ключови думи - override, final. Виртуални таблици.
- Тема 12: Колекции от обекти в полиморфна йерархия. Копиране, триене, разпознаване и прихващане. Шаблони.
- Тема 13: Шаблони. Множествено наследяване. Виртуално наследяване. Виртуални таблици при множествено и виртуално наследяване. Диамантен проблем. Бонус - Cpp Insights.
- Тема 14: Дървовидна структура от обекти от полиморфна йерархия.
- Тема 15: Type casting. SOLID принципи. Въведение в Design Patterns.
GeorgiTerziev02/Object-oriented_programming_FMI
Repository with examples for the "Object-oriented programming" course given by me at Faculty of Mathematics and Informatics, Sofia University
C++MIT