Учебное пособие. — Минск: БГУИР, 2008. — 266 с.: ил.
В учебном пособии рассмотрены приёмы и правила объектно-ориентированного программирования с использованием языка С++. Изложены основные конструкции языка С++, а также общие принципы разработки объектно-ориентированных программ. Рассмотрена разработка программ для Windows с использованием WIN32 API.
Пособие будет полезно студентам всех специальностей, магистрантам и аспирантам.
Введение
Объектно-ориентированный подход
Объектно-ориентированное программирование Абстрактные типы данных
Базовые принципы объектно-ориентированного программирования
Основные достоинства С++
Особенности языка С++
Простейший ввод и вывод
Операторы для динамического выделения и освобождения памяти (new и delete)
Базовые конструкции объектно-ориентированных программОбъекты
Понятие класса
Конструктор копирования
Конструктор explicit
Указатель this
Встроенные функции (спецификатор inline)
Организация внешнего доступа к локальным компонентам класса (спецификатор friend)
Вложенные классы
Static-члены (данные) класса
Компоненты-функции static и const
Proxi-классы
Ссылки
Пространства имён
Практические приёмы ограничения числа объектов класса
Наследование Наследование (производные классы)
Виртуальные функции
Абстрактные классы
Виртуальные деструкторы
Множественное наследование
Виртуальное наследование
ПерегрузкаПерегрузка функций
Перегрузка операторов
Преобразование типа
ШаблоныПараметризированные классы
Передача и шаблон класса дополнительных параметров
Шаблоны функций
Совместное использование шаблонов и наследования
Шаблоны класса и friend-функции
Некоторые примеры использования шаблона класса
Потоки ввода-вывода в С++Организация ввода-вывода
Состояние потока
Строковые потоки
Организация работы с файлами
Организация файла последовательного доступа
Создание файла произвольного доступа
Основные функции классов ios, istream, ostream
Исключения в С++Основы обработки исключительных ситуаций
Перенаправление исключительных ситуаций
Исключительная ситуация, генерируемая оператором new
Генерация исключений в конструкторах
Задание собственной функции завершения
Спецификации исключительных ситуаций
Задание собственного неожиданного обработчика
Иерархия исключений стандартной библиотеки
Стандартная библиотека шаблонов (STL) Общее понятие о контейнере
Общее понятие об итераторе
Категории итераторов
Операции с итераторами
Контейнеры последовательностей
Ассоциативные контейнеры
Адаптеры контейнеров
Алгоритмы
Пассивные и активные итераторы
Примеры реализации контейнерных классовСвязанные списки
Реализация бинарного дерева
Программирование для Windows Система, управляемая соощениями
Управление графическим выводом
Контекст устройства
Архитектура, управляемая событиями
Исходный текст программы
Идентификаторы, написанные прописными буквами
Некоторые новые типы данных
Венгерская нотация
Точка входа программы
Регистрация класса окна
Создание окна
Цикл обработки сообщений
Оконная процедура
Обработка сообщений
Обработка сообщений функцией DefWindowProc
Синхронные и асинхронные сообщения
Ещё один метод получения описателя контекста устройства
Рисование текста
Полосы прокрутки
Литература