Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Бьерн Страуструп C++.doc
Скачиваний:
12
Добавлен:
07.11.2018
Размер:
2.45 Mб
Скачать

Глава 11. Проектирование и развитие 238

11.1 Введение 238

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

11.4.2 Размер 252

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

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

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

ГЛАВА 12. ПРОЕКТИРОВАНИЕ И С++ 257

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

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

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

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

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

12.2 Классы 264

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

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

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

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

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

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

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

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

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

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

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

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

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

Глава 13. Проектирование библиотек 282

13.1 Введение 282

13.2 Конкретные типы 283

13.3 Абстрактные типы 285

13.4 Узловые классы 288

13.5 Динамическая информация о типе 290

13.5.1 Информация о типе 291

13.5.2 Класс Type_info 292

13.5.3 Как создать систему динамических запросов о типе 294

13.5.4 Расширенная динамическая информация о типе 294

13.5.5 Правильное и неправильное использование динамической информации о типе 295

13.6 Обширный интерфейс 296

13.7 Каркас области приложения 298

13.8 Интерфейсные классы 299

13.9 Управляющие классы 301

13.10 Управление памятью 304

13.10.1 Сборщик мусора 305

13.10.2 Контейнеры и удаление 306

13.10.3 Функции размещения и освобождения 308

13.11 Упражнения 310

Предварительные замечания

Книга Б. Страуструпа "Язык программирования С++" дает описание языка, его ключевых понятий и основных приемов программирования на нем. Это завершенное руководство, написанное создателем языка, которое содержит описание всех средств С++, в том числе управление исключительными ситуациями, шаблоны типа (параметризованные типы данных) и множественное наследование.

Книга делится на три части. Первые десять глав являются учебником, служащим введением в язык, включая подмножество собственно С. В трех последующих главах обсуждаются вопросы проектирования и создания программного обеспечения с помощью С++. Книга завершается полным справочным руководством по языку.

В книге вы найдете:

  • законченный учебник и руководство по языку.

  • полное освещение средств языка, нацеленных на абстрактные типы данных и объектно-ориентированное программирование.

  • обсуждение программистских и технических вопросов, возникающих в процессе проектирования и создания больших программных систем.

  • описание способов построения библиотек высокого класса.

  • примеры реализации ключевых типов данных, определяемых пользователем, таких как графические объекты, ассоциативные массивы и потоки ввода- вывода.

Эта книга будет хорошим помощником опытному программисту, решившему использовать С++ для нетривиальных задач. Ее можно считать ключевой в любом собрании книг по С++.