C++
Home

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