Обектно ориентирано програмиране: C++

Учебна програма

1. Класове и абстрактни данни - 8
-- Дефиниция на клас абстрактни данни Time. Достъп до членовете на класа.
-- Отделяне в различни файлове на дефинициите на класа (header) от дефинициите на функциите на класа.
-- Инициализация на обекти от тип клас - конструктор.
-- Използване на аргументи по подразбиране с конструкторите.
-- Деструктор. Кога се изпълняват конструкторите и деструкторите.
-- Get и set функции.
-- Оператор за присвояване (почленно копиране).
-- Обекти от тип клас като параметри на функции.
-- Обекти константи и константи членове на тип клас -- функции и данни.
-- Композиция -- класове като членове на други класове.
-- Приятелски функции и приятелски класове.
-- Използване на указател this.
-- Статични членове на клас.

2. Предефиниране на операции - 4
-- Въведение, основни понятия. Ограничения при предефинирането на операции.
-- Функции за предефиниране на операции: членове на класа или приятелски функции.
-- Предефиниране на потоковите операции вмъкване и извличане.
-- Предефиниране на унарни операции. Предефиниране на бинарни операции.
-- Създаване на клас Array.

3. Наследяване на класове - 5
-- Базисни класове и производни класове.
-- Защитени (protected) членове на клас.
-- Прехвърляне на указатели от базисния клас към производния клас.
-- Предефиниране на членове от базисния клас в производния клас.
-- Публични (public), защитени (protected) и частни (private) базисни класове.
-- Директни и индиректни базисни класове.
-- Използване на конструктури и деструктури в производни класове.

4. Виртуални функции и полиморфизъм - 5
-- Виртуални функции.
-- Абстрактни базисни класове и конкретни класове.
-- Клас Employee и производни класове.
-- Полиморфизъм.
-- Нови класове, динамично създаване на производни класове.
-- Виртуални деструктури.
-- Клас Shape и производни класове.

5. Входни и изходни потоци - 4
-- Потоци. iostream заглавен файл.
-- Потоков вход/изход на класове и обекти.
-- Потоков изход -- операции и функции.
-- Потоков вход -- операции и функции.
-- Потокови манипулатори.
-- Състояния на потоците.
-- Предефиниране на потоковите операции.

6. Шаблони - 5
-- Шаблони за функции и предефиниране.
-- Шаблони за класове.
-- Нетипизирани параметри и наследственост.
-- Приятелски функции и класове.
-- Статични членове на клас.

7. Обработка на изключения - 6
-- Дефиниция, класическа обработка на изключения.
-- Принципи на обработката на изключения в С++.
-- Пример с деление на 0.
-- Докладване (throw) на изключение.
-- Прихващане (catch) на изключение.
-- Пренасочване на обработката на изключението.
-- Обработка на неочаквани изключения.
-- Конструктори, деструктори и изключения.
-- Наследственост и изключения.

8. Потоци и работа с файлове - 3
-- Йерархия на данни
-- Последователни файлове - създаване, обновяване и четене
-- Файлове с пряк достъп - създаване, обновяване и четене
-- Работа с низови потоци

9. Класове за структури от данни - 5
-- Свързан списък
-- Стекове и опашки
-- Дървета

Общо - 45 часа