Реферат Курсовая Конспект
ЛАБОРАТОРНАЯ РАБОТА N 8 - раздел Программирование, ПРОГРАММИРОВАНИЕ НА ЯЗЫКАХ ВЫСОКОГО УРОВНЯ Шаблоны Функций 1.перегрузка И Шаблоны Функций ...
|
Шаблоны функций
1.Перегрузка и шаблоны функций
В одной программе может быть размещено несколько функций с одним и тем же именем, если списки формальных параметров у них различны. Требование уникальности, таким образом, предъявляется к расширенному имени функции, состоящему из собственно имени функции и списка формальных параметров.
Для описания семейства функций, реализующих аналогичные алгоритмы, можно воспользоваться шаблоном функции в соответствии со следующим синтаксисом:
template <<список формальных параметров шаблона>><возвращаемое значение><имя функции>(<список формальных параметров функции>)
{<тело функции>}
Список формальных параметров шаблона содержит формальные параметры типа, разделенные запятыми. Формальный параметр может состоять из ключевого слова class и идентификатора типа.
Пример описания шаблона
template <class T> min(T t1,T t2)
{if(t1,t2) return t1; else return t2;}
Конкретная функция генерируется из шаблона компилятором при обработке вызова функции с конкретными фактическими параметрами.
Чтобы уточнить шаблон для особых типов параметров функции, можно определить специализированные шаблонные функции. Так, в дополнение к вышеприведенному примеру:
//специализированная версия min():
char *min(char*t1,char*t2)
{if(strcmp(t1,t2)<0) return t1; else return t2;}
В функции main при первом вызове min используется ее специализированная версия, а при втором – версия, сгенерированная по шаблону для данных типа float:
void main()
{ char *p=min(“abc”,”123”);
float a=min(1.2,3.4);
}
2.Задание на лабораторную работу
Написать функцию-шаблон для одной из операций над одномерным массивом элементов простых типов, предусмотрев специализированную реализацию этой же операции для массива структур. Операцию над массивом выбрать в соответствии с вариантом задания.
– Конец работы –
Эта тема принадлежит разделу:
На сайте allrefs.net читайте: ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Российской Федерации...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: ЛАБОРАТОРНАЯ РАБОТА N 8
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов