Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Срауструп CPP.doc
Скачиваний:
7
Добавлен:
05.11.2018
Размер:
4.95 Mб
Скачать

9.1 Обработка ошибок 264

9.1.1 Особые ситуации и традиционная обработка ошибок 266

9.1.2 Другие точки зрения на особые ситуации 268

9.2 Различение особых ситуаций 268

9.3 Имена особых ситуаций 270

9.3.1 Группирование особых ситуаций 272

9.3.2 Производные особые ситуации 274

9.4 Запросы ресурсов 277

9.4.1 Конструкторы и деструкторы 279

9.4.2 Предостережения 280

9.4.3 Исчерпание ресурса 281

9.4.4 Особые ситуации и конструкторы 283

9.5 Особые ситуации могут не быть ошибками 284

9.6 Задание интерфейса 286

9.6.1 Неожиданные особые ситуации 287

9.7 Неперехваченные особые ситуации 289

9.8 Другие способы обработки ошибок 289

9.9 Упражнения 292

* ГЛАВА 10. ПОТОКИ 293

10.1 Введение 293

10.2 ВЫВОД 294

10.2.1 Вывод встроенных типов 295

10.2.2 Вывод пользовательских типов 296

10.3 ВВОД 297

10.3.1 Ввод встроенных типов 297

10.3.2 Состояния потока 300

10.3.3 Ввод пользовательских типов 302

10.4 Форматирование 303

10.4.1 Класс ios 303

10.4.1.1 Связывание потоков 304

10.4.1.2 Поля вывода 304

10.4.1.3 Состояние формата 306

10.4.1.4 Вывод целых 307

10.4.1.5 Выравнивание полей 308

10.4.1.6 Вывод плавающих чисел. 309

10.4.2 Манипуляторы 309

10.4.2.1 Стандартные манипуляторы ввода-вывода 312

10.4.3 Члены ostream 313

10.4.4 Члены istream 314

10.5 Файлы и потоки 314

10.5.1 Закрытие потоков 316

10.5.2 Строковые потоки 317

10.5.3 Буферизация 318

10.6 Ввод-вывод в С 319

10.7 Упражнения 321

* ПРОЕКТИРОВАНИЕ И РАЗВИТИЕ 322

11.1 Введение 323

11.2 Цели и средства 325

11.3 Процесс развития 328

11.3.1 Цикл развития 329

11.3.2 Цели проектирования 331

11.3.3 Шаги проектирования 333

11.3.3.1 Шаг 1: определение классов 334

11.3.3.2 Шаг 2: определение набора операций 335

11.3.3.3 Шаг 3: указание зависимостей 336

11.3.3.4 Шаг 4: определение интерфейсов 336

11.3.3.5 Перестройка иерархии классов 337

11.3.3.6 Использование моделей 338

11.3.4 Эксперимент и анализ 338

11.3.5 Тестирование 340

11.3.6 Сопровождение 341

11.3.7 Эффективность 342

11.4 Управление проектом 342

11.4.1 Повторное использование 343

11.4.2 Размер 344

11.4.3 Человеческий фактор 345

11.5 Свод правил 347

11.6 Список литературы с комментариями 348

* ПРОЕКТИРОВАНИЕ И С++ 349

12.1 Проектирование и язык программирования. 349

12.1.1 Игнорирование классов 351

12.1.2 Игнорирование наследования 353

12.1.3 Игнорирование статического контроля типов 354

12.1.4 Гибридный проект 357

12.2 Классы 359

12.2.1 Что представляют классы? 360

12.2.2 Иерархии классов 361

12.2.3 Зависимости в рамках иерархии классов. 363

12.2.4 Отношения принадлежности 365

12.2.5 Принадлежность и наследование 367

12.2.6 Отношения использования 371

12.2.7 Отношения внутри класса 372

12.2.7.1 Инварианты 372

12.2.7.2 Инкапсуляция 375

12.2.8 Программируемые отношения 375

12.3 Компоненты 377

12.4 Интерфейсы и реализации 379

12.5 Свод правил 381

* ПРОЕКТИРОВАНИЕ БИБЛИОТЕК 382