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

Глава 21. Шаблоны, исключения 321

21.1. Шаблоны 321

21.2. Шаблоны функций 321

Программа 65. Объявление и определение шаблона функции 322

21.3. Классы и шаблоны 323

Программа 66. Шаблон классов векторов 323

Программа 67. Шаблон классов динамических массивов 324

21.4. Обработка исключений 326

Программа 68. Расчет НОД 327

21.5. Стандартная библиотека шаблонов 329

Программа 69. Использование шаблона векторов 330

Литература 332

Предметный указатель 333

Предисловие

В настоящее время язык программирования C++ является одним из самых распространенных. Его предшественником является язык Си, разработанный Денисом Ритчи в начале 1970-х годов [1]. Си быстро завоевал популярность у программистов благодаря своей лаконичности, выразительности и эффективности. Долго время единственным руководством по языку Си была книга [2], заслужившая почетное название «Библия языка Си». В 1989 г. Международной организацией стандартов (International Standard Organization – ISO) был принят стандарт языка Си, в 1999 г. стандарт Си был переработан [3]. Если программа написана в соответствии со стандартом языка, это гарантирует, что она будет выполняться на любом компьютере и в любой среде разработки.

В 1979 г. Бьярн Страуструп на основе языка Си разработал язык C++ [4]. Главным нововведением было включение в язык понятия класса, с помощью которого реализована концепция объектно-ориентированного программирования, благодаря чему облегчилось создание программ большого объема. В 1998 г. был принят стандарт языка C++. Язык Си является, за небольшими исключениями, подмножеством языка C++, так что программа, написанная на Си, является и программой на C++.

Синтаксис языков Си и C++ использован в новейших языках программирования Java и C# (Си-шарп), таким образом, знакомство с языком C++ может служить базой для изучения других современных языков.

Языкам Си и C++ посвящена обширная литература, некоторые издания перечислены в списке литературы.

Изучить программирование можно без компьютера, потому что программа должна быть создана, прежде всего, в голове программиста, а уже затем перенесена на бумагу или в файл. Наличие под рукой компьютера просто позволяет быстро проверить возникающие идеи, убедиться, что в программе нет ошибок. Тем не менее, в книге приводится описание ряда систем разработки, использующих язык C++: Turbo C++ 3.0/Borland C++3.1, C++ Builder. Программист сам волен выбирать наиболее удобный для себя инструмент.

Примеры программ приводятся в том виде, как они выглядят в среде Turbo C++, если это не оговорено особо. Они без изменения могут выполняться в других средах разработки за двумя исключениями.

Если среда разработки – это Windows-приложение, то она использует кодовую таблицу 1251, в которой для русских букв используются коды, не совпадающие с их кодами в среде выполнения программы – текстовом окне DOS, где применяется кодовая таблица 866. В этом случае при выводе на экран русских букв вместо них появляются непонятные значки (на самом деле это символы, которые стоят в кодовой таблице 866 на том месте, где в кодовой таблице 1251 стоят русские буквы). Выход состоит или в использовании английского языка, что очень полезно будущему программисту, или в простой замене русских букв латинскими (транслитерации), или в предварительном преобразовании русских букв в кодовую таблицу, используемую в среде выполнения программы. Как это сделать, сказано при описании работы в C++ Builder.

Второе исключение состоит в том, что программы, использующие графические возможности Turbo C++ 3.0/Borland C++3.1, непереносимы в другие средства разработки, так как используют нестандартные графические функции.