Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп
10.1. Ввод и вывод
10.2. Модель потока ввода-вывода
10.3. Файлы
10.4. Открытие файла
10.5. Чтение и запись файла
10.6. Обработка ошибок ввода-вывода
10.7. Считывание отдельного значения
10.7.1. Разделение задачи на управляемые части
10.7.2. Отделение диалога от функции
10.8. Операторы вывода, определенные пользователем
10.9. Операторы ввода, определенные пользователем
10.10. Стандартный цикл ввода
10.11. Чтение структурированного файла
10.11.1. Представление в памяти
10.11.2. Считывание структурированных значений
10.11.3. Изменение представления
Глава 11 Настройка ввода и вывода
11.1. Регулярность и нерегулярность
11.2. Форматирование вывода
11.2.1. Вывод целых чисел
11.2.2. Ввод целых чисел
11.2.3. Вывод чисел с плавающей точкой
11.2.4. Точность
11.2.5. Поля
11.3. Открытие файла и позиционирование
11.3.1. Режимы открытия файлов
11.3.2. Бинарные файлы
11.3.3. Позиционирование в файлах
11.4. Потоки строк
11.5. Ввод, ориентированный на строки
11.6. Классификация символов
11.7. Использование нестандартных разделителей
11.8. И еще много чего
Глава 12 Вывод на экран
12.1. Почему графика?
12.2. Вывод на дисплей
12.3. Первый пример
12.4. Использование библиотеки графического пользовательского интерфейса
12.5. Координаты
12.6. Класс Shape
12.7. Использование графических примитивов
12.7.1. Графические заголовочные файлы и функция main
12.7.2. Почти пустое окно
12.7.3. Оси координат
12.7.4. График функции
12.7.5. Многоугольники
12.7.6. Прямоугольник
12.7.7. Заполнение
12.7.8. Текст
12.7.9. Изображения
12.7.10. И многое другое
12.8. Запуск программы
12.8.1. Исходные файлы
Глава 13 Графические классы
13.1. Обзор графических классов
13.2. Классы Point и Line
13.3. Класс Lines
13.4. Класс Color
13.5. Класс Line_style
13.6. Класс Open_polyline
13.7. Класс Closed_polyline
13.8. Класс Polygon
13.9. Класс Rectangle
13.10. Управление неименованными объектами
13.11. Класс Text
13.12. Класс Circle
13.13. Класс Ellipse
13.14. Класс Marked_polyline
13.15. Класс Marks
13.16. Класс Mark
13.17. Класс Image
Глава 14 Проектирование графических классов
14.1. Принципы проектирования
14.1.1. Типы
14.1.2. Операции
14.1.3. Именование
14.1.4. Изменяемость
14.2. Класс Shape
14.2.1. Абстрактный класс
14.2.2. Управление доступом
14.2.3. Рисование фигур
14.2.4. Копирование и изменчивость
14.3. Базовые и производные классы
14.3.1. Схема объекта
14.3.2. Вывод классов и определение виртуальных функций
14.3.3. Замещение
14.3.4. Доступ
14.3.5. Чисто виртуальные функции
14.4. Преимущества объектно-ориентированного программирования
Глава 15 Графические функции и данные
15.1. Введение
15.2. Построение простых графиков
15.3. Класс Function
15.3.1. Аргументы по умолчанию
15.3.2. Новые примеры
15.4. Оси
15.5. Аппроксимация
15.6. Графические данные
15.6.1. Чтение файла
15.6.2. Общая схема
15.6.3. Масштабирование данных
15.6.4. Построение графика
Глава 16 Графические пользовательские интерфейсы
16.1. Альтернативы пользовательского интерфейса
16.2. Кнопка Next
16.3. Простое окно
16.3.1. Функции обратного вызова
16.3.2. Цикл ожидания
16.4. Класс Button и другие разновидности класса Widget
16.4.1. Класс Widget
16.4.2. Класс Button
16.4.3. Классы In_box и Out_box
16.4.4. Класс Menu
16.5. Пример
16.6. Инверсия управления
16.7. Добавление меню
16.8. Отладка программы графического пользовательского интерфейса
Часть III Данные и алгоритмы
Глава 17 Векторы и свободная память
17.1. Введение
17.2. Основы
17.3. Память, адреса и указатели
17.3.1. Оператор sizeof
17.4. Свободная память и указатели
17.4.1. Размещение в свободной памяти
17.4.2. Доступ с помощью указателей
17.4.3. Диапазоны
17.4.4. Инициализация
17.4.5. Нулевой указатель
17.4.6. Освобождение свободной памяти
17.5. Деструкторы
17.5.1. Обобщенные указатели
17.5.2. Деструкторы и свободная память
17.6. Доступ к элементам
17.7. Указатели на объекты класса
17.8. Путаница с типами: void* и операторы приведения типов
17.9. Указатели и ссылки
17.9.1. Указатели и ссылки как параметры функций
17.9.2. Указатели, ссылки и наследование
17.9.3. Пример: списки
17.9.4. Операции над списками
17.9.5. Использование списков
17.10. Указатель this
17.10.1. Еще раз об использовании списков
Глава 18 Векторы и массивы
18.1. Введение
18.2. Копирование
18.2.1. Конструкторы копирования
18.2.2. Копирующее присваивание
18.2.3. Терминология, связанная с копированием
18.3. Основные операции
18.3.1. Явные конструкторы
18.3.2. Отладка конструкторов и деструкторов
18.4. Доступ к элементам вектора
18.4.1. Перегрузка ключевого слова const
18.5. Массивы
18.5.1. Указатели на элементы массива
18.5.2. Указатели и массивы
18.5.3. Инициализация массива
18.5.4. Проблемы с указателями
18.6. Примеры: палиндром
18.6.1. Палиндромы, созданные с помощью класса string
18.6.2. Палиндромы, созданные с помощью массива
18.6.3. Палиндромы, созданные с помощью указателей
Глава 19 Векторы, шаблоны и исключения
19.1. Проблемы
19.2. Изменение размера
19.2.1. Представление
19.2.2. Функции reserve и capacity
19.2.3. Функция resize
19.2.4. Функция push_back
19.2.5. Присваивание
19.2.6. Предыдущая версия класса vector
19.3. Шаблоны
19.3.1. Типы как шаблонные параметры