Код от семинарите по "Обектно-ориентирано програмиране", летен семестър 2023/2024, спец. "Информатика"
- Тема 1 : Увод в ООП. Структури. Създаване на инстанции. Подаване/връщане на инстанции във/от функции. Подравняване (alignment). Padding. Обединения (union).
- Тема 2 : Енумерации (plain enum и enum class). Namespaces. Потоци (streams). Текстови файлове. Четене и писане от/в текстов файл. Режими на работа. Put и get указатели. Пример за работа със CSV файлове.
- Тема 3 : Двоични файлове. Четене и писане от/в двоичен файл. Реализация на прост Hex Viewer.
- Тема 4 : Член-функции (методи). Конструктори и деструктор. Ред на работа на конструкторите и деструкторите. Конструктори и деструктор при композиция на обекти. Капсулация (encapsulation). Accessors and mutators (гетъри и сетъри).
- Тема 5 : Процес на компилация. Разделна компилация – .h файлове и .cpp файлове.
- Тема 6 : Динамична памет в структури/класове. Голямата четворка (Big 4). Ключова дума static.
- Тема 7 : Изключения (Exceptions).
- Тема 8 : Предефиниране на оператори (Operator overloading). Приятелски класове и функции.
- Тема 9 : Value categories – glvalue, prvalue, xvalue, lvalue, rvalue. Move семантики. Масиви от указатели към обекти.
- Тема 10 : Наследяване (Is-a relationship).
- Тема 11 : Статично и динамично свързване. Виртуални функции. Ключови думи – override и final. Полиморфизъм. Чисто виртуални функции и абстрактни класове.
- Тема 12 : Колекции от обекти в полиморфна йерархия. Factory method.
- Тема 13 : Множествено наследяване. Диамантен проблем.
- Тема 14 : Параметричен полиморфизъм (шаблони).
- Тема 15 : Дървовидна структура от обекти от полиморфна йерархия. Шах. Тype casting.