В този урок ще научим за шаблоните на функции в C ++ с помощта на примери.
Шаблоните са мощни функции на C ++, което ни позволява да пишем общи програми.
Можем да създадем една функция за работа с различни типове данни, като използваме шаблон.
Декларация на шаблон за функция
Шаблонът на функцията започва с ключовата дума, template
последвана от параметър (и) на шаблона, който е последван от декларация за функция.
template T functionName(T parameter1, T parameter2,… ) ( // code )
В горния код T
е аргумент на шаблон, който приема различни типове данни ( int
, float
и т.н.) и typename
е ключова дума.
Когато се предава аргумент от тип данни functionName()
, компилаторът генерира нова версия на functionName()
за дадения тип данни.
Извикване на шаблон за функция
След като декларираме и дефинираме шаблон на функция, можем да го извикаме в други функции или шаблони (като main()
функцията) със следния синтаксис
functionName(parameter1, parameter2,… );
Например, нека разгледаме шаблон, който добавя две числа:
template T add(T num1, T num2) ( return (num1 + num2); )
След това можем да го извикаме във main()
функцията за добавяне int
и double
числа.
int main() ( int result1; double result2; // calling with int parameters result1 = add(2, 3); cout << result1 << endl; // calling with double parameters result2 = add(2.2, 3.3); cout << result2 << endl; return 0; )
Извикване на функция въз основа на типовете данни
Пример: Намиране на абсолютната стойност на числата
#include using namespace std; template T add(T num1, T num2) ( return (num1 + num2); ) int main() ( int result1; double result2; // calling with int parameters result1 = add(2, 3); cout << "2 + 3 = " << result1 << endl; // calling with double parameters result2 = add(2.2, 3.3); cout << "2.2 + 3.3 = " << result2 << endl; return 0; )
Изход
2 + 3 = 5 2,2 + 3,3 = 5,5