Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP.DOC
Скачиваний:
11
Добавлен:
03.05.2019
Размер:
618.5 Кб
Скачать

75Федеральное агенство по образованию

МОСКОВСКИЙ ИНЖЕНЕРНО-ФИЗИЧЕСКИЙ ИНСТИТУТ

(ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ)

К.Г. Финогенов

Лабораторный практикум

«Основы объектно-ориентированного программирования»

Москва 2008

УДК 32.973.1

ББК 681.3

Ф59

Финогенов К.Г. Лабораторный практикум «Основы объектно-ориентированного программирования». Уч. пособие.

М.:МИФИ, 2008. 92 с.

Пособие предназначено для широкого круга читателей, приступающих к изучению современной идеологии разработки программных продуктов – методов объектно-ориентированного программирования (ООП). В первой части описываются основные понятия и концепции ООП, рассматривается аппарат ООП, изучается техника составления прикладных объектно-ориентированных программ.

Вторая часть пособия – описание лабораторного практикума по освоению разработки объектно-ориентированных приложений Windows.

Предназначено для обучения студентов кафедры компьютерных медицинских систем факультета автоматики и электроники МИФИ по курсам “Языки программирования и операционные системы” и “Компьютерный практикум”. Пособие может быть также полезно студентам, аспирантам и преподавателям, знакомым с языком С++ и программированием в системе Windows и желающим самостоятельно освоить современные методы разработки программных средств.

Рецензент В.В. Комаров

Рекомендовано редсоветом МИФИ в качестве учебного пособия

© Московский инженерно-физический институт (государственный университет), 2008

Редактор Н.В. Шумакова

Подписано в печать 00.00.2008 г. Формат 60  84 1/16

Печ. л. 5,75 Уч.-изд. л. 5,75 Тираж 120 экз.

Изд. № 000-0 Заказ

Московский инженерно-физический институт (государственный университет)

Типография МИФИ. 115409, Москва, Каширское шоссе, 31

С о д е р ж а н и е

Часть 1. Теоретические сведения 5

1. Классы и объекты 5

Объектно-ориентированный подход к программированию 5

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

Доступ к членам класса 11

Функции встроенные и невстроенные 12

Статические переменные-члены класса 13

2. Конструкторы и деструкторы 15

Конструкторы 15

Конструктор с инициализацией членов класса по умолчанию 17

Деструкторы 18

3. Перегрузка 19

Перегрузка функций 20

Перегрузка конструкторов 21

Перегрузка операторов 23

4. Производные классы и наследование 28

Объявление производного класса 28

Состав производного класса 30

Защищенные члены класса 31

Конструкторы и производные классы 33

5. Виртуальные функции 34

Понятие виртуальной функции 34

Обслуживание множества объектов класса 35

Использование виртуальных функций 41

Абстрактные базовые классы 42

6. Потоки ввода-вывода 44

Иерархия потоковых классов ввода-вывода в С++ 44

Базовые операции с файловыми потоками 45

Перегрузка операторов вставки и извлечения 47

7. Живучесть объектов 52

Проблемы хранения объектов на диске 52

Библиотечный класса string 53

Живучие объекты 56

Часть 2. Лабораторный практикум 63

Работы лабораторного практикума 63

Работа №1. Понятия класса и объекта

(индивидуальное задание А) 63

Работа №2. Встроенные и невстроенные функции-члены 63

Работа №3. Конструкторы 64

Работа №4. Деструкторы 64

Работа №5. Конструктор с инициализацией по умолчанию 65

Работа №6. Статическая переменная в составе класса 65

Работа №7. Перегрузка функций 66

Работа №8. Перегрузка конструкторов

(индивидуальное задание B) 66

Работа №9. Перегрузка операторов

(индивидуальное задание C) 67

Работа №10. Базовые и производные классы 68

Работа №11. Виртуальные функции 69

Работа №12. Потоки ввода-вывода 70

Работа №13. Перегрузка в прикладном классе операторов

вставки и извлечения 71

Работа №14. Библиотечный класс string 72

Работа №15. Создание живучих объектов и запись их

на диск 72

Работа №16. Чтение с диска живучих объектов 73

Индивидуальные задания лабораторного практикума 75

Список литературы 92

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