консольного термінала та порту........................................................... 146
6.9.3. Функції введення–виведення нижнього рівня........................................ 147
7. ОБ'ЄКТНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ ТА С++................................... 167
7.1. Елементи концепції обєктно-орієнтованого програмування............................ 167
7.2. Від структур ANSI С до класів С++............................................................. 169
7.3. Опис протоколу класу.................................................................................. 172
7.4. Деякі особливостi С++................................................................................. 176
7.4.1. Коментарі............................................................................................ 176
7.4.2. Прототипи функцій............................................................................... 176
7.4.3. Операція розширення області видимості................................................ 177
7.4.4. Оголошення в операторах.................................................................... 177
7.4.5. Перевантаження функцій..................................................................... 178
7.4.6. Значення формальних параметрів за умовчанням................................. 178
7.4.7. Посилання й покажчики....................................................................... 179
|
|
7.4.8. Специфікатор INLINE.......................................................................... 182
7.4.9. Операції NEW і DELETE......................................................................... 183
7.4.10. Покажчик на void............................................................................. 183
7.4.11. Зв'язування зі збереженням типів....................................................... 184
7.4.12. Про структури та об'єднання.............................................................. 184
7.5. Функції-члени класу.................................................................................... 185
Функції-члени в межах
і за межами формального опису класу................................................. 185
7.5.2. Покажчик this................................................................................... 186
Перевантаження функцій-членів.
Параметри за умовчанням.................................................................. 187
7.6. Конструктори та деструктори....................................................................... 189
7.6.1. Поняття про конструктори.................................................................... 189
7.6.2. Деструктори........................................................................................ 192
7.6.3. Конструктор копіювання...................................................................... 194
7.7. Глобальні та локальні об'єкти...................................................................... 195
7.8. Статична пам'ять і класи.............................................................................. 198
7.9. Успадкування.............................................................................................. 201
7.9.1. Синтаксична реалізація успадкування.................................................. 201
7.9.2. Правила доступу до полів даних........................................................... 202
7.9.3. Конструктори та деструктори в похідних класах.................................... 204
7.9.4. Використання заміщуючих функцій-членів............................................ 206
7.9.5. Похідні класи й покажчики................................................................... 208
7.9.6. Ієрархія типів....................................................................................... 208
|
|
7.9.7. Множинне успадкування...................................................................... 209
7.10. Віртуальні функції та класи........................................................................ 212
7.10.1. Віртуальні функції.............................................................................. 212
7.10.2. Чисті віртуальні функції. Абстрактні класи.......................................... 214
7.10.3. Віртуальні деструктори....................................................................... 216
7.10.4. Посилання як засіб для реалізації поліморфізму.................................. 217
7.10.5. Дещо про механізм віртуальних функцій............................................. 218
7.10.6. Віртуальні базові класи...................................................................... 219
7.11. Друзі......................................................................................................... 223
7.11.1. Дружні класи..................................................................................... 223
7.11.2. Дружні функції................................................................................... 225
7.12. Перевантаження операцій.......................................................................... 227
7.12.1. Загальний підхід................................................................................. 227
7.12.2. Перетворення типів............................................................................ 230
7.12.3. Перевантаження операції індексування масиву................................... 232
7.12.4. Перевантаження операції виклику функції.......................................... 234
7.12.5. Перевантаження операції доступу до члена класу............................... 236
7.12.6. Перевантаження операцій інкремента й декремента........................... 237
Перевантаження операцій
керування пам'яттю (NEW, DELETE)................................................... 238
7.12.8. Перевантаження операції присвоювання............................................. 239
8. ШАБЛОНИ С++................................................................................................. 241
8.1. Функціональні шаблони............................................................................... 241
8.1.1. Визначення й використання шаблонів функцій...................................... 241
8.1.2. Перевантаження шаблонів функції....................................................... 243
8.1.3. Cпецiалiзованi функцiї шаблона............................................................ 244
8.2. Шаблони класів........................................................................................... 245
8.2.1. Визначення шаблонів класу.................................................................. 245
8.2.2. Константи й типи як параметри шаблона.............................................. 246
8.2.3. Використання шаблонних класів........................................................... 246
8.2.4. Спеціалізація шаблонів класу............................................................... 248
9. АВТОМАТНА ТЕХНОЛОГІЯ програмування............................................... 255
СПИСОК ЛІТЕРАТУРИ......................................................................................... 268