Neste tutorial, aprenderemos sobre modelos de funções em C ++ com a ajuda de exemplos.
Os modelos são recursos poderosos do C ++ que nos permitem escrever programas genéricos.
Podemos criar uma única função para trabalhar com diferentes tipos de dados usando um modelo.
Declaração de modelo de função
Um template de função começa com a palavra-chave template
seguida pelos parâmetros do template dentro do qual é seguido pela declaração da função.
template T functionName(T parameter1, T parameter2,… ) ( // code )
No código acima, T
é um argumento modelo que aceita diferentes tipos de dados ( int
, float
, etc.), e typename
é uma palavra-chave.
Quando um argumento de um tipo de dados é passado para functionName()
, o compilador gera uma nova versão functionName()
para o tipo de dados fornecido.
Chamando um modelo de função
Depois de declarar e definir um modelo de função, podemos chamá-lo em outras funções ou modelos (como a main()
função) com a seguinte sintaxe
functionName(parameter1, parameter2,… );
Por exemplo, vamos considerar um modelo que adiciona dois números:
template T add(T num1, T num2) ( return (num1 + num2); )
Podemos então chamá-lo na main()
função para adicionar int
e double
números.
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; )

Exemplo: Encontrando o Valor Absoluto dos Números
#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; )
Resultado
2 + 3 = 5 2,2 + 3,3 = 5,5