Деструкторы . . . . . . . . . . . . . . . . . . 613
9 . 8 . Когда вызываются конструкторы � деструкторы . 61 3
9 . 9 . Пример: класс Time. Скрытая ошибка - возвращение ссылки
на закрытый элемент данных . . . . . . . . 617
9 . 1 0 . Поэлементное присваивание по умолчанию . . . . . 620
9 . 1 1 . Утилизируемость программного обеспечения . . . . 622
9 . 1 2 . Конструирование программного обеспечения . Начало
программирования классов системы АТМ
(необязательный раздел) . 623
9 . 1 3 . Заключение . . . . . . . . 631
Гпав а 1 0. Кпассы : ч асть 11 • • • • • • • 639
1 0. 1 . Введение . . . . . . . . . . 640
10. 2. Константные объекты и константные элемент-функции 641
10. 3. Композиция : объекты в качестве элементов класса 651
10. 4. Дружественные функции и дру жественные классы 658
10. 5. . Указатель this . . . . . . . . . . . . . . . . . 662
Содержание 9
1 0 . 6 . Динамическое управление памятью с помощью операций
new и delete . . . . . . . . . . . . . . . . 668
1 0 . 7 . Статические элементы класса . . . . . . . . 67 0
1 08. . Абстракция данных и сокрытие информации . 677
1 0 . 8 . 1 . Пример: абстрактный тип данных - массив . 67 8
1 0 . 8 . 2 .
Пример: абстрактный тип данных - строка . . . . . 6 79
1 0 . 8 . 3 . Пример : абстрактный тип данных - очередь . . . . . 679
1 0 . 9 . Классы-контейнеры и итераторы 68 0
1 0 . 1 0 . Классы-посредники . . . . . . . . . . . . . . . 68 1
1 О . 1 1 . Заключение . . . . . . . . . . . . . . . . . . 68 4
Глава 1 1 . Пер егр узка ·о пера ци й; об ъекты Array и String 69 1
1 1 . 1 . Введение . . . . . . . . . . . . . . 69 2
1 1 . 2. Основы перегрузки операций . . . . . . . . . . . 693
1 1 . 3 . Ограничения на перегрузку операций . . . . . . . 6 95
1 1 . 4. Функции-операции как элементы класса и как глобальные
функции . . . . . . . . . . . . . . . . . . . . . 697
11 . 5 . Перегрузка операций передачи в поток и извлечения
из потока . . . . . . . . . . . . . 6 98
11 . 6 . Перегрузка одноместных операций . 7 02
11 . 7 .