В этом руководстве мы узнаем о шаблонах функций в 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