Бьерн Страуструп - Язык программирования С++. Вступление, глава 1
Страница 3. Структура книги



Структура книги


    Книга состоит из трех частей. Главы с 1 по 10 являются учебником по
языку. В главах с 11 по 13 обсуждаются вопросы проектирования и развития
программного обеспечения с учетом возможностей С++. В конце книги
приведено полное справочное руководство по языку. Исчерпывающее описание
конструкций С++ содержится только там. Учебная часть книги содержит
примеры, советы, предостережения и упражнения, для которых не нашлось
места в руководстве.

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

    Глава 1 содержит краткий обзор основных концепций и конструкций С++.
Она позволяет познакомиться с языком в общих чертах. Подробные объяснения
конструкций языка и способов их применения содержатся в последующих
главах. Обсуждаются в первую очередь средства, обеспечивающие абстракцию
данных и объектно-ориентированное программирование. Основные средства
процедурного программирования упоминаются кратко.

    В главах 2, 3 и 4 описываются средства С++, которые не используются
для определения новых типов: основные типы, выражения и структуры
управления. Другими словами, эти главы содержат описание той части языка,
которая по сути представляет С. Изложение в указанных главах идет в
углубленном виде.

    Главы 5 - 8 посвящены средствам построения новых типов, которые не
имеют аналогов в С. В главе 5 вводится основное понятие - класс. В ней
показано, как можно определять пользовательские типы (классы),
инициализировать их, обращаться к ним, и, наконец, как уничтожать их.
Глава 6 посвящена понятию производных классов, которое позволяет строить
из простых классов более сложные. Оно дает также возможность эффективной и
безопасной (в смысле типа) работы в тех ситуациях, когда типы объектов на
стадии трансляции неизвестны.  В главе 7 объясняется, как можно определить
унарные и бинарные операции для пользовательских типов, как задавать
преобразования таких типов, и каким образом можно создавать, копировать и
удалять объекты, представляющие пользовательские типы. Глава 8 посвящена
шаблонам типа, т.е. такому средству С++, которое позволяет определить
семейство типов и функций.

    В главе 9 обсуждается обработка особых ситуаций, рассматриваются
возможные реакции на ошибки и методы построения устойчивых к ошибкам
систем. В главе 10 определяются классы ostream и istream, предоставляемые
стандартной библиотекой для потокового ввода-вывода.

    Главы 11 - 13 посвящены вопросам, связанным с применением С++ для
проектирования и реализации больших программных систем. В главе 11 в
основном рассматриваются вопросы проектирования и управления программными
проектами.  В главе 12 обсуждается взаимосвязь между языком С++ и
проблемами проектирования. В главе 13 показаны способы создания библиотек.

    Завершается книга справочным руководством по С++.

    Ссылки на различные части книги даются в виде $$2.3.4, что означает
раздел 3.4 главы 2. Для обозначения справочного руководства применяется
буква R, например, $$R.8.5.5.

 
« Предыдущая статья   Следующая статья »