20519

Шаблони функцій (передача типу в функцію у вигляді параметру). Перевизначення шаблонів функцій. Передача у шаблони додаткових аргументів

Доклад

Информатика, кибернетика и программирование

Шаблони механізм C який дозволяє створювати узагальнені функції і класи які працюють з типами даних які передаються в параметрі. Можна наприклад створити функцію яка сортує масив цілих чисел а можна створити шаблон функції який буде сортувати масиви будьяких даних над якими задані операції порівняння і присвоєння. Шаблон функції виглядає так: template class Ідентифікатор_типу Тип_результату Назва_функціїСписок_параметрів { Тіло функції } Параметр Ідентифікатор_типу задає тип з яким працює функція. Всюди в тілі і заголовку...

Украинкский

2013-07-25

27.5 KB

0 чел.

Шаблони функцій (передача типу в функцію у вигляді параметру). Перевизначення шаблонів функцій. Передача у шаблони додаткових аргументів.

Шаблони - механізм C++, який дозволяє створювати узагальнені функції і класи, які працюють з типами даних які передаються в параметрі. Можна наприклад створити функцію яка сортує масив цілих чисел, а можна створити шаблон функції, який буде сортувати масиви будь-яких даних, над якими задані операції порівняння і присвоєння. Таким чином одну і ту ж функцію сортування можна застосовувати для масивів різних даних, не створюючи окрему функцію для кожного окремого типу.

Шаблон функції виглядає так:

template <class Ідентифікатор_типу> Тип_результату Назва_функції(Список_параметрів)

{

   // Тіло функції

}

Параметр "Ідентифікатор_типу" задає тип з яким працює функція. Всюди в тілі і заголовку функції компілятор замість цього ідентифікатора підставить фактичний тип, який передається. Наприклад функція перестановки двох змінних:

template <class Type> void swap(Type &a, Type &b)

{

     Type tmp=a;a=b;b=tmp;

}

За допомогою шаблонів можна дублювати  та розмножувати текст програми. Програмуючи на С + +, ви могли б скористатися засобами перевизначення і дати обом функцій одне і теж ім'я. Перевизначення робить текст програми більш наочним, але не позбавляє нас від необхідності повторювати один і той же алгоритм в декількох місцях.

При виклику шаблону функції типи і значення його аргументів визначаються шляхом дослідження типів фактичних аргументів функції. Цей процес називається висновком аргументів шаблону.
Параметром функції в шаблоні min () є посилання на масив елементів типу Type

template <class Type, int size>

  Type min( Type (&r_array)[size] ) { /* ... */ }


 

А также другие работы, которые могут Вас заинтересовать

15319. Обработка ошибок с помощью исключений 30 KB
  Лабораторная работа №5 Тема: Обработка ошибок с помощью исключений. Цель изучить основные способы программирования устойчивого кода. Обработка ошибок с помощью исключений Основная философия Java в том что €œплохо сформированный код не будет работать€. Идеальн...
15320. Базовые классы пакета Java.awt (Abstract Window Toolkit) 89 KB
  Базовые классы пакета Java.awt Abstract Window Toolkit. Рассмотрим самый большой и наверное самый полезный раздел языка Java связанный с реализацией пользовательского интерфейса. Для этого изучим базовые классы пакета Java.awt Abstract Window Toolkit. Итак что же такое awt Это набор классов Ja...
15321. Розробка текстового редактора 157.5 KB
  КУРСОВА РОБОТА Тема: Розробка текстового редактора/ Обєктом розробок та досліджень є текстовий редактор. Мета роботи – розробка текстового редактора. Програма була реалiзована за допомогою функцій мови Сі. В результаті роботи була розроблена програма, яка призначена для перегляду та редагування тексту. Програму виконано у середовищі Сі.
15323. Интерфейс программы 3ds max 1.09 MB
  Тема 1: Интерфейс программы 3ds max 1. Интерфейс программы Задание 1. Запустите программу 3d max командой Пуск – Программы discreet 3ds max 5 – 3ds max 5. Командой File Open Файл – Открыть Откройте файл Сфера.max из папки dop_material/01. Изучите основные эл...
15324. Создание примитивов в 3D Studio MAX 529.81 KB
  ТЕМА 2: Создание примитивов в 3D Studio MAX 1. Принципы создания и модификации объектов Методы создания объектов В интерактивном режиме Вводом с клавиатуры. Основная часть объектов 3d MAX создается в интерактивном режиме с...
15325. Создание геометрических примитивов. Добавление освещения в сцену 227.08 KB
  Тема 2: Создание геометрических примитивов. Добавление освещения в сцену 1. Принципы создания и модификации объектов Методы создания объектов В интерактивном режиме Вводом с клавиатуры. Основная часть объектов 3d MAX
15327. Клонирование объектов и использование массивов 938.5 KB
  Тема 3: Клонирование объектов и использование массивов 1. Клонирование объектов и использование массивов Клонирование объектов Существует два способа клонирования объектов: первый использование команды Edit–Clone Правка–Клон