•
Templates
de funções ( gabaritos )
Muitas funções sobrecarregadas podem ser escritas
de uma forma mais rápida usando templates de funções.
Com templates parametros fornecidos para as funções são
automaticamente transformadas para o tipo de variável usada.
Ou seja, se foi usado double, os parametros da função serão
convertidos para double.
Exemplo:
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
template < class T >
T maximum ( T
value1, T value2, T
value3 )
{
T max = value1;
if
( value2 > max )
max
= value2;
if
( value3 > max )
max
= value3;
return
max;
}
int main()
{
int valor1, valor2, valor3;
cout
<< "Forneca tres valores interiros: ";
cin
>> valor1 >> valor2 >> valor3;
cout
<< "\nO maior valor eh "
<<
maximum( valor1, valor2, valor3 ) // T se transforma em
int
<< endl;
double
double1, double2, double3;
cout
<< "Forneca tres doubles: ";
cin
>> double1 >> double2 >> double3;
cout
<< "\nO maior Valor eh: "
<<
maximum( double1, double2, double3) //
T se transforma em double
<<
endl;
char
char1, char2, char3;
cout
<< " Forneca tres caracteres: ";
cin
>> char1 >> char2 >> char3;
cout
<< "\n O maior valor em caracter eh "
<<
maximum( char1, char2, char3 ) //
T se transforma em char
<<
endl;
cin;
return
0;
}
Perguntas??? Email
|