Добавил:
t.me Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 семестр / Литература / Программирование на С++Надейкина

.pdf
Скачиваний:
3
Добавлен:
16.07.2023
Размер:
948.31 Кб
Скачать

83

все имена параметров должны быть разные, и обязательно перед каждым именем должно стоять слово – class;

4) все параметры шаблона обязательно должны быть использованы в спецификации параметров функции.

Пример неправильного определения шаблона:

template<class T1,classT2,classT3>

T3 f ( T1 a, T2 b ) {T3 c;… } //ошибка!

Пример правильного определения шаблона функций обменивающих значения параметров:

template <class R> void swap ( R&x, R&y) {R t= x; x=y; y=t;}

Далее, если в программе встретится фрагмент : double k= 3.7, n= 7.3;

swap(k, n);

компилятор на основе шаблона сформирует определение функции: void swap ( double&x, double&y)

{double t=x; x=y; y=t;}

Затем будет выполнено обращение к ней и значения переменных k и n поменяются местами.

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

ЛИТЕРАТУРА

1.Страуструп Б. Язык программирования С++. – М.: Невский Диалект – БИНОМ, 1999 - 991 с.

2.Подбельский В.В. Стандартный Си++: учебное пособие – М.: Финансы

истатистика, 2008, 688 с.

3.Подбельский В.В. Язык Си++. – М.: Финансы и статистика, 2000, 560 с.

4.Климова Л.М. Основы практического программирования на языке С++.

–М.: Приор, 2000. - 454 с.

5.Страуструп Б. Дизайн и эволюция языка С++.- М.:ДМК Пресс, 2000 -

488 с.

6.Подбельский В.В Программирование на языке СИ: учебное пособие – М.: Финансы и статистика, 2003, 600 с.

7.Романов Е.Л. Практикум по программированию на языке С++: учебное пособие – СПб.: Петербург, 2004.- 432 с.

84

СОДЕРЖАНИЕ

1. Раздел 1. Базовые понятия языка C++ ……………………………………… 3

1.1.Введение в C++…………………………………………………………….. 3

1.2.Лексические основы языка………………………………………………….. 12

1.3.Представление данных………………………………………………………. 27

1.4.Объекты программы и их атрибуты………………………………………… 32

1.5.Выражения и преобразования типов……………………………….............. 37

1.6.Операторы языка C++……………………………………………….............. 39

Раздел 2. Адреса, указатели, ссылки, массивы…………………………………. 46

2.1.Указатели и адреса объектов………………………………………............... 46

2.2.Объявление указателей……………………………………………………… 49

2.3.Типы указателей и операции над ними…………………………………….. 50

2.4.Ссылки………………………………………………………………………... 53

2.5.Массивы………………………………………………………………………. 54

2.6.Массивы и указатели………………………………………………………… 57

2.7.Создание динамических массивов………………………………………….. 61

Раздел 3. Функции………………………………………………………………… 63

3.1.Определение, описание и вызовы функций………………………………... 63

3.2.Классификация формальных параметров………………………………….. 68

3.3.Результат функции, возвращаемый с помощью оператора return…............ 72

3.4.Указатели на функции………………………………………………………. 75

3.5.Рекурсивные функции………………………………………………………. 80

3.6.Перегрузка функций. Шаблоны функций…………………………………. 81

ЛИТЕРАТУРА……………………………………………………………………. 83