Зачем нужно наследование 234
Как наследуется класс 234
Использование подкласса 236
Конструирование подкласса 237
Деструкция подкласса 238
Отношение СОДЕРЖИТ 238
Глава 21. Знакомство с виртуальными функциями-членами: настоящие ли они 240
Зачем нужен полиморфизм 243
Как работает полиморфизм 245
Когда функция не является виртуальной 246
Виртуальные особенности 247
Глава 22. Разложение классов 249
Разложение 249
Реализация абстрактных классов 253
Концепция абстрактных классов 254
Создание полноценного класса из абстрактного 255
Передача абстрактных классов 257
Нужны ли чисто виртуальные функции 257
Разделение исходного кода С++ 259
Разделение программы — класс Student 260
Определение пространства имён 261
Реализация класса Student 261
Разделение программы — класс GraduateStudent 262
Реализация приложения 263
Файл проекта 264
Создание файла проекта в Dev-C++ 265
Часть 5. Полезные особенности 269
Глава 23. Оператор присвоения 271
Сравнение операторов и функций 271
Потоковые операторы 272
Мелкое копирование — глубокие проблемы 272
Переопределение оператора присвоения 273
Защита от копирования 276
Глава 24. Использование потоков ввода-вывода 277
Как работают потоки ввода-вывода 277
Знакомство с подклассами fstream 278
Прямое чтение из потока 282
Что такое endl 284
Подклассы strstream 285
Работа с манипуляторами 287
_________________
11 стр. Содержание
Глава 25. Обработка ошибок и исключения 290
Зачем нужен новый механизм обработки ошибок 291
Механизм исключительных ситуаций 293
Так что же мы будем бросать? 295
Глава 26. Множественное наследование 298
Механизм множественного наследования 298
Устранение неоднозначностей множественного наследования 300
Виртуальное наследование 301
Конструирование объектов 306
Отрицательные стороны множественного наследования 306
Глава 27. Шаблоны С++ 308
Обобщение функции в шаблон 309
Шаблоны классов 311
Зачем нужны шаблоны классов 314
Советы по использованию шаблонов 316
Глава 28. Стандартная библиотека шаблонов 317
Контейнер string 317
Контейнер list 320
Итераторы 321
Использование контейнера map 324
Часть 6. Великолепная десятка 329
Глава 29. Десять способов избежать ошибок 331
Включение всех предупреждений и сообщений об ошибках 331
Добейтесь чистой компиляции 332
Используйте последовательный стиль программирования 332
Ограничивайте видимость 332
Комментируйте свою программу 334
Хотя бы один раз выполните программу пошагово 334
Избегайте перегрузки операторов 334
Работа с кучей 334
Используйте для обработки ошибок исключительные ситуации 335
Избегайте множественного наследования 335
Глава 30. Десять основных возможностей Dev-C++ 336
Настройка редактора по вашему вкусу 336
Подсветка парных скобок 337
Включение обработки исключений 337
Включение отладочной информации 338
Создание файла проекта 338
Настройка справки 338
Переустановка точек останова после редактирования файла 339
Избегайте некорректных имён файлов 339
Включите заголовочные файлы в ваш проект 339
Работа с профайлером 339
_________________
12 стр. Содержание
Глава 31. Программа BUDGET 343
BUDGET1 343
BUDGET2 348
BUDGET3 355
Реализация модуля со связанным списком 356
Работа со счетами 358
Классы связанных списков 363
Оценка бюджета 365
BUDGET4 366
Реализация связанного списка в виде шаблона класса 366
Исходный код BUDGET4 368
Подведение итогов 373
BUDGET5 373
Использование шаблона класса из STL 373
Создание списка счетов 378
Читать дальше