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] ) { /* ... */ }


 

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

37343. Реализация проблемно-целевых программ в таможенном деле 4.83 MB
  Федеральная целевая программа развития ТС на 1996-1997 годы и на период до 2000 года 11 Целевые программы модернизации таможенной службы. Для таможенной системы внедрение прогрессивных технологий таможенного контроля является одним из приоритетных направлений. Созданная материальная база кадровые и финансовые возможности позволяют говорить о реализации в таможенной системе сложнейшей задачи завершении...
37344. Управление рисками: как больше зарабатывать и меньше терять 176 KB
  Первый шаг заключается в том чтобы научиться видеть и четко определять риски. Несмотря на то что большинство людей определяют риски ежедневно осознанно или нет вряд ли подобные определения можно назвать полными. Определить риски означает учесть все параметры риска.
37345. Экономическое обоснование освоения выпуска новой продукции 568.5 KB
  На предприятии принято решение о прекращении с нового (первого) года производства продукции А. Рассматривается вопрос целесообразности освоения выпуска изделия Б. В базовом году были проведены маркетинговые исследования по изделию Б, выполнены научно-исследовательские, опытно-конструкторские и технологические работы
37346. АНАЛИЗ И ОРГАНИЗАЦИЯ НАЛОГОВОГО УЧЕТА НА ПРЕДПРИЯТИИ 167.24 KB
  Понятие налогового учета цели задачи. Как отдельный вид учета налоговый учет долгое время именовался учетом для целей налогообложения. Появление же самого налогового учета в России и закрепление его как термина сопряжено со введением в действие 25 главы налогового кодекса РФ далее НК РФ Налог на прибыль организаций.
37347. Экономическое обоснование освоения выпуска новой продукции 764.5 KB
  Тема: Экономическое обоснование освоения выпуска новой продукции Студент Шининов Т Н. Формирование плана производства и реализации продукции. Расчет себестоимости и рентабельности товарной продукции. ЗАДАНИЕ НА ПРОЕКТИРОВАНИЕ Необходимо определить экономическую целесообразность перехода на выпуск нового вида продукции ориентируясь на показатели рентабельности продукции и производства.