ВУЗ:
Составители:
Рубрика:
Объектно-ориентированное программирование на С++
Оглавление
Оглавление ................................................................................................................ 3
Введение ..................................................................................................................... 5
Глава 1. Особенности языка С++ в структурном программировании .......... 7
1.1. Потоковый ввод/вывод данных ..................................................................... 7
Домашнее задание ................................................................................................... 10
1.2. Обработка исключений .................................................................................. 12
Домашнее задание ................................................................................................... 17
1.3. Перегрузка функций ....................................................................................... 18
Домашнее задание ................................................................................................... 21
1.4. Шаблоны функций .......................................................................................... 22
Домашнее задание ................................................................................................... 26
1.5. Указатели на функции ................................................................................... 27
Домашнее задание ................................................................................................... 31
Глава 2. Основы объектно-ориентированного программирования ............. 33
2.1. Объектная модель ........................................................................................... 33
2.1.1. Основные элементы объектной модели .................................................. 33
2.1.2. Отношения между объектами и классами ............................................... 37
2.1.3. Объектная модель вузовской информационной системы .................... 40
Домашнее задание ................................................................................................... 46
2.2. Основные принципы объектно-ориентированного программирования
.................................................................................................................................... 46
2.2.1. Абстрагирование ......................................................................................... 47
2.2.2. Инкапсуляция ............................................................................................... 50
2.2.3. Классы и объекты ......................................................................................... 52
2.2.4. Конструкторы и деструктор ....................................................................... 69
2.2.5. Полиморфизм ............................................................................................... 78
2.2.6. Наследование ................................................................................................ 89
2.2.7. Виртуальные функции и абстрактные классы ................................. 107
2.2.8. Шаблоны классов (параметризация классов) ..................................... 114
Глава 3. Примеры реализаций классов ........................................................... 120
3.1. Реализация класса «Рациональное число» ............................................... 120
3.1.1. Переменные и методы класса «Рациональное число» ....................... 120
3.1.2. Конструкторы и деструктор класса «Рациональное число» ............. 123
3.1.3. Перегрузка операций для класса «Рациональное число» ................. 126
3.1.4. Пример использования массива дробей (быстрая сортировка) ........ 132
Домашнее задание ................................................................................................ 133
3.2. Реализация классов прямоугольной и квадратной матриц .................. 135
3.2.1. Определение класса «Прямоугольная матрица» ................................. 135
3.2.2. Обработка исключений в классах Matrix и QMatrix ......................... 138
3.2.3. Использование принципа наследования на примере класса
«Квадратная матрица» ........................................................................................ 144
Домашнее задание ................................................................................................. 150
3.3. Реализация класса динамического списка ............................................... 151
3
Объектно-ориентированное программирование на С++ Оглавление Оглавление................................................................................................................3 Введение.....................................................................................................................5 Глава 1. Особенности языка С++ в структурном программировании..........7 1.1. Потоковый ввод/вывод данных.....................................................................7 Домашнее задание...................................................................................................10 1.2. Обработка исключений..................................................................................12 Домашнее задание...................................................................................................17 1.3. Перегрузка функций.......................................................................................18 Домашнее задание...................................................................................................21 1.4. Шаблоны функций..........................................................................................22 Домашнее задание...................................................................................................26 1.5. Указатели на функции ...................................................................................27 Домашнее задание...................................................................................................31 Глава 2. Основы объектно-ориентированного программирования.............33 2.1. Объектная модель...........................................................................................33 2.1.1. Основные элементы объектной модели..................................................33 2.1.2. Отношения между объектами и классами...............................................37 2.1.3. Объектная модель вузовской информационной системы....................40 Домашнее задание...................................................................................................46 2.2. Основные принципы объектно-ориентированного программирования ....................................................................................................................................46 2.2.1. Абстрагирование .........................................................................................47 2.2.2. Инкапсуляция...............................................................................................50 2.2.3. Классы и объекты.........................................................................................52 2.2.4. Конструкторы и деструктор.......................................................................69 2.2.5. Полиморфизм...............................................................................................78 2.2.6. Наследование................................................................................................89 2.2.7. Виртуальные функции и абстрактные классы .................................107 2.2.8. Шаблоны классов (параметризация классов).....................................114 Глава 3. Примеры реализаций классов...........................................................120 3.1. Реализация класса «Рациональное число»...............................................120 3.1.1. Переменные и методы класса «Рациональное число» .......................120 3.1.2. Конструкторы и деструктор класса «Рациональное число».............123 3.1.3. Перегрузка операций для класса «Рациональное число» .................126 3.1.4. Пример использования массива дробей (быстрая сортировка)........132 Домашнее задание................................................................................................133 3.2. Реализация классов прямоугольной и квадратной матриц..................135 3.2.1. Определение класса «Прямоугольная матрица».................................135 3.2.2. Обработка исключений в классах Matrix и QMatrix.........................138 3.2.3. Использование принципа наследования на примере класса «Квадратная матрица»........................................................................................144 Домашнее задание.................................................................................................150 3.3. Реализация класса динамического списка...............................................151 3