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

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


Тема за 3 часова лекция Дата  Материали
1.
Типове данни, оператори, операции
14.10
PPT-lecture 1
PPT-lecture 2
2.
Функции, масиви, указатели
Pointers and strings (cpphtp4_05.pdf)
21.10
PPT-lecture 3
PPT-lecture 4
PPT-lecture 5
3.
Класове I
-- Дефиниция на клас абстрактни данни Time. Достъп до членовете на класа.
-- Инициализация на обекти от тип клас - конструктор и аргументи на конструктор.
-- Деструктор. Кога се изпълняват конструкторите и деструкторите.
-- Get и set член-функции. Помощни член-функции.
28.10
PPT-lecture 6
id01
id02
4.
Класове II
-- Оператор за присвояване (почленно копиране).
-- Композиция - обекти като членове-данни на клас.
-- Приятелски функции и приятелски класове; указател this.
-- Статични членове на клас - данни и функции.
5.11 PPT-lecture 7
id03
id04
id05
id06
id07
5.
Предефиниране на операции
-- Въведение, основни понятия. Ограничения при предефинирането на операции.
-- Предефиниране на потоковите операции за вход и изход.
-- Функции за предефиниране на операции: членове на клас или приятелски функции.
-- Предефиниране на унарни и бинарни операции.
-- Създаване на клас Array.
*** [ І курсова задача ] ***
12.11 PPT-lecture 8
id08
id09
6.
*** [Първи тест] ***
Наследственост (cpphtp4_09.pdf)
-- Базови класове и производни класове.
-- Предефиниране на членове от базовия клас в производния клас.
-- Публични (public), защитени (protected) и частни (private) базови класове.
-- Директни и индиректни базови класове.
-- Използване на конструктори и деструктори в производни класове.
-- Пример с класове Point, Circle, Cylinder.
-- Многократна наследственост.
19.11 PPT-lecture 9
id10
id11
id12
7.
Виртуални функции и полиморфизъм
-- Преобразуване на указатели от базовия клас към указатели от производния клас.
-- Виртуални функции.
-- Абстрактни базови класове и конкретни класове.
-- Динамично свързване.
-- Виртуални деструктори.
-- Клас Shape и производни класове.
-- Механизъм на динамичното свързване.
*** [ Предаване на І курсова задача и I контролно ] ***
26.11 PPT-lecture 10
id13
id14
id15
8.
Входни и изходни потоци
-- Потоци. Заглавен файл iostream.
-- Класове и обекти за потоков вход и изход.
-- Потоков изход -- операции и функции.
-- Потоков вход -- операции и функции.
-- Потокови манипулатори.
-- Състояния на потоците.
-- Предефиниране на потоковите операции.
*** [ ІІ курсова задача ] ***
3.12 PPT-lecture 12
id16
Допълнение:
Extending the iostream library
9.
Шаблони
-- Шаблони-функции.
-- Предефиниране на шаблони-функции.
-- Шаблони-класове.
10.12 PPT-lecture 11
id17
id18

10
*** [Втори тест] ***
Обработка на изключения
-- Дефиниция, класическа обработка на изключения.
-- Принципи на обработката на изключения в С++.
-- Пример с деление на 0.
-- Докладване на изключение (throw).
-- Прихващане на изключение (catch).
-- Пренасочване на обработката на изключението.
-- Обработка на неочаквани изключения.
-- "Развиване" на стека.
-- Обработка на изключение при new.
*** [ Предаване на ІІ курсова задача и IІ контролно ] ***
*** [ ІІІ курсова задача ] ***
17.12 PPT-lecture 13
id19
id20
Допълнение:  Vector
11
Потоци и файлове
-- Йерархия на данни.
-- Последователни файлове - създаване, обновяване и четене.
-- Файлове с пряк достъп - създаване, обновяване и четене.
-- Работа с низови потоци.
7.01
PPT-lecture 14
id21
12
Клас string
-
PPT-lecture 15
13
Стандартна библиотека със шаблони I
-- Въведение в STL -  контейнери, итератори, алгоритми.
-- Контейнери-редици - vector, list, deque.
-- Асоциативни контейнери: set, multiset, map, multimap.
14.01
PPT-lecture 21
id22
id23
Допълнение: Safe STL
14
Стандартна библиотека със шаблони II
-- Адаптери на контейнери - стек, опашка и опашка с приоритет.
-- Алгоритми.
-- Функционални класове.

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



Изпит

Viewer for PPT-lecture: ppview97.exe

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

Examples (377K): cppHTP4_examples.zip