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

Учебна програма, график за лекции, учебни материали

Тема за 3 часова лекция Дата  Материали
1. Класове I
-- Дефиниция на клас абстрактни данни Time. Достъп до членовете на класа.
-- Инициализация на обекти от тип клас - конструктор и аргументи на конструктор.
-- Деструктор. Кога се изпълняват конструкторите и деструкторите.
-- Get и set член-функции. Помощни член-функции.
16.09
23.09
PPT-lecture 6
id01
id02
2. Класове II
-- Оператор за присвояване (почленно копиране).
-- Композиция -- обекти като членове-данни на клас.
-- Приятелски функции и приятелски класове; указател this.
-- Статични членове на клас - данни и функции.
-- Proxy класове.
30.09 PPT-lecture 7
id03
id04
id05
id06
id07
3. Предефиниране на операции I
-- Преглед на операциите в C++ .
-- Въведение, основни понятия. Ограничения при предефинирането на операции.
-- Предефиниране на потоковите операции за вход и изход.
7.10 PPT-lecture 8
id08
4. Предефиниране на операции II
-- Функции за предефиниране на операции: членове на клас или приятелски функции. 
-- Предефиниране на унарни и бинарни операции.
-- Създаване на клас Array.
*** [ І курсова задача ] ***
14.10 PPT-lecture 8(cont)
id09
*** [Първи тест] ***
5. Наследственост I ( cpphtp4_09.pdf )
-- Базови класове и производни класове.
-- Защитени (protected) членове на клас.
-- Предефиниране на членове от базисния клас в производния клас.
21.10 PPT-lecture 9
id10
6. Наследственост II ( cpphtp4_09.pdf )
-- Директни и индиректни базови класове. 
-- Използване на конструктори и деструктори в производни класове. 
-- Пример с класове Point, Circle, Cylinder.
-- Публични (public), защитени (protected) и частни (private) базови класове. 
-- Многократна наследственост.
21.10 PPT-lecture 9(cont)
id11
id12
7. Виртуални функции и полиморфизъм
-- Преобразуване на указатели от базовия клас към указатели от производния клас.
-- Виртуални функции.
-- Абстрактни базови класове и конкретни класове.
-- Динамично свързване.
-- Клас Shape и производни класове.
-- Виртуални деструктори.
-- Клас Employee и производни класове.
-- Механизъм на динамичното свързване.
*** [ Предаване на І курсова задача и I контролно ] ***
28.10 PPT-lecture 10
id13
id14
id15
8. Входни и изходни потоци
-- Потоци. Заглавен файл iostream.
-- Класове и обекти за потоков вход и изход.
-- Потоков изход -- операции и функции.
-- Потоков вход -- операции и функции.
-- Потокови манипулатори.
-- Състояния на потоците.
-- Предефиниране на потоковите операции.
*** [ ІІ курсова задача ] ***
04.11 PPT-lecture 12
id16
Допълнение:
Extending the 
iostream library
9. Шаблони
-- Шаблони-функции.
-- Предефиниране на шаблони-функции.
-- Шаблони-класове.
11.11 PPT-lecture 11
id17
id18
*** [Втори тест] ***
10. Обработка на изключения I
-- Дефиниция, класическа обработка на изключения.
-- Принципи на обработката на изключения в С++.
-- Пример с деление на 0.
-- Докладване (throw) на изключение.
-- Прихващане (catch) на изключение.
18.11 PPT-lecture 13
id19
Допълнение: 
Vector
11. Обработка на изключения II
-- Пренасочване на обработката на изключението.
-- Обработка на неочаквани изключения.
-- "Развиване" на стека.
-- Обработка на изключение при new.
*** [ Предаване на ІІ курсова задача и IІ контролно ] ***
*** [ ІІІ курсова задача ] ***
25.11 PPT-lecture 13(cont)
id20
12. Потоци и файлове
-- Йерархия на данни.
-- Последователни файлове - създаване, обновяване и четене.
-- Файлове с пряк достъп - създаване, обновяване и четене.
-- Работа с низови потоци.
02.12 PPT-lecture 14
id21
13. Стандартна библиотека със шаблони I
-- Въведение в STL -  контейнери, итератори, алгоритми.
-- Контейнери-редици - vector, list, deque.
16.12 Examples
PPT-lecture 21
id22
Допълнение:
Safe STL
14. Стандартна библиотека със шаблони II
-- Асоциативни контейнери - set, multiset, map, multimap.
-- Адаптери на контейнери - стек, опашка и опашка с приоритет.
23.12 PPT-lecture 21(cont)
id23
id24
15. Стандартна библиотека със шаблони III
-- Алгоритми.
-- Функционални класове.

PPT-lecture 21(cont)
id25
Допълнение:
Задача - решение
*** [ Предаване на ІІІ курсова задача и IІІ контролно ] ***
*** [Трети тест] ***
Изпит


Viewer for PPT-lecture: ppview97.exe

PowerPoint Slides (2.23 MB): cppHTP4_PPT-all.zip

Examples (377K): cppHTP4_examples.zip