Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lections_rus.doc
Скачиваний:
31
Добавлен:
06.02.2016
Размер:
1.41 Mб
Скачать

Тема 1.Понятие технологии программирования (2 часа). 3

1.1. Предмет изучения курса ООП 4

1.2. Исторический экскурс 4

1.3. Основные технологии программирования 4

1.4. Заключение 7

Тема 2. Основные концепции ооп (2 часа). 7

2.1. Объекты и классы 7

2.1.1.Понятие класса объектов 8

2.1.2. Основные характеристики состояния класса 8

2.1.3. Понятие инкапсуляции свойств объекта 8

2.1.4. Структура глобальной памяти класса и глобальные методы класса 9

2.1.5. Интерфейс класса 9

2.1.6. Функции-члены класса 10

2.2. Понятие наследования (Inheritance) 10

2.3. Понятие полиморфизма 11

Тема 3. Конструкторы и деструкторы (2 часа). 12

3.1. Для чего нужны конструкторы 12

3.2. Использование конструкторов «по умолчанию» 14

3.3. Использование деструкторов 15

3.4. Демонстрация последовательности работы конструкторов и деструкторов 17

3.5. Конструктор копирования 18

3.6. Определение операции присваивания 20

3.6.1. Пример использования конструктора копирования. 22

3.7.Встроенные понятия С++. 23

3.7.1. Краткий обзор библиотеки STL 23

3.7.2. Вектора 24

3.8. Inline-подстановка 25

ТЕМА 4. ПЕРЕГРУЗКА ОПЕРАТОРОВ С++ (2 часа) 26

4.1. Перегрузка операторов 26

4.1.1. Пример на перегрузку операторов 27

4.1.2. Общие принципы перегрузки операторов 29

4.1.3. Бинарные и Унарные Операции 30

4.2. Пример с перегрузкой операторов 30

Тема 5. Дружественные функции (friend functions) (2 часа) 32

5.1. Примеры использования дружественных функций 34

5.2. Особенности перегрузки префиксной и постфиксной форм унарных операций 37

5.3. Статические члены данных 39

5.4. Перегрузка операторов new, new[], delete, delete[] 41

Тема 6. Обработка исключительных ситуаций (2 часа) 44

6.1. Применение try, catch, throw 44

6.2. Синтаксис и семантика генерации и обработки исключений 50

6.3. Обработка исключений 55

6.4. Обработка исключений при динамическом выделении памяти 59

6.5. Функции, глобальные переменные и классы поддержки механизма исключений 65

6.6. Конструкторы и деструкторы в исключениях 68

ТЕМА 7. СТРОКИ В С++. ОБРАБОТКА СТРОК 69

7.1 Строковые типы 69

7.1.1. Преобразования, определяемые классом 70

7.1.2. Встроенный строковый тип 71

7.1.3 Класс string 72

7.2. Пример строкового класса с перегруженными операторами и дружественными функциями 72

Тема 8. Производные классы (2 часа) 76

8.1. Определение производного класса 76

8.2. Правила использования атрбутов доступа 77

8.3. Конструкторы и деструкторы производных классов 80

Тема 9. Виртуальные функции (2 часа) 83

9.1. Определение виртуальных методов 84

9.2. Абстрактные классы 86

9.3. Таблицы виртуальных методов (функций) 87

9.4. Выводы 88

Тема 10. Множественное наследование. Производные классы векторов (2 часа) 90

10.1. Множественное наследование 90

10.2. Отношения между классами 94

10.2.3. Ассоциация 94

10.2.4. Агрегирование 94

10.2.5. Наследование 95

10.3. Библиотека графических объектов (пример) 95

10.3.1. Динамический полиморфизм и наследование интерфейсов 97

10.3.2.Абстрактные классы 100

10.3.3. Множественное наследование в библиотеке графичкских фигур. 100

10.3.4. Иерархия классов библиотеки графичкских фигур 101

10.4. Производные классы векторов 104

10.5. Операции над векторами 105

ТЕМА 11. ПОТОКИ. ОРГАНИЗАЦИЯ ВВОДА /ВЫВОДА В С++ (4 часа). 107

11.1. Потоковый ввод-вывод 107

11.1.1. Классы потоков 109

11.1.2. Стандартные потоки 109

11.2.Опрос и установка состояния потока 110

11.3.Перегрузка операций извлечения и вставки в поток 111

11.4.Переадресация ввода-вывода 114

11.5. Операции помещения в поток и извлечения из потока 115

11.6.Форматирование потока 117

11.7.Файловый ввод-вывод с использованием потоков 121

11.8.Бесформатный ввод-вывод 123

11.9.Часто применяемые функции библиотеки ввода / вывода 124

11.10.Файлы с произвольным доступом 125

11.11. Буферизация 126

11.12. Заключение 128

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]