You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Код от семинарите по "Обектно-ориентирано програмиране", летен семестър 2025/2026, спец. "Информатика"
Тема 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 : Изключения (Exceptions).
Тема 7 : Динамична памет в структури/класове. Голямата четворка (Big 4). Ключова дума static.
Тема 8 : Предефиниране на оператори (Operator overloading). Приятелски класове и функции.
Тема 9 : Value categories – glvalue, prvalue, xvalue, lvalue, rvalue. Lvalue, rvalue и universal references; std::move и std::forward. Move семантики. Масиви от указатели към обекти.
Тема 10 : Наследяване (Is-a relationship).
Тема 11 : Статично и динамично свързване. Виртуални функции. Ключови думи – override и final. Полиморфизъм. Чисто виртуални функции и абстрактни класове.
Тема 12 : Колекции от обекти в полиморфна йерархия. Factory method.
Тема 15 : Дървовидна структура от обекти в полиморфна йерархия. Шах. Тype casting.
About
Repository with examples for the "Object-oriented programming" course given by me @ Faculty of Mathematics and Informatics, Sofia University (2021-present)