Next: Gabarito de classes
Up: Gabaritos
Previous: Gabaritos
  Sumário
Considere a seguinte função que troca os valores de dois inteiros:
indentation
void swap (int& x, int& y) {
int tmp = x;
x = y;
y = tmp;
}
Considere agora a extensão desta rotina para fazer a troca de
valores para floats, longs, ou objetos de quaisquer
outros tipos -- a solução de repetir o código acima
para todas é possível, mas certamente não deve ser a
melhor.
Um gabarito de função permite que o computador faça esta
repetição de código, e não o programador. O gabarito
para a função swap seria definido como
indentation
template
class T
void swap (T& x, T& y) {
T tmp = x;
x = y;
y =tmp;
}
Toda vez que a função swap for chamada com um dado
par de tipos, o compilador C ++ irá até a definição
acima e criará uma outra função gabarito como uma
instância do gabarito de função acima. Funções
gabaritos podem ser sobrepostas por outras definições para
tipos específicos, se necessário.
Next: Gabarito de classes
Up: Gabaritos
Previous: Gabaritos
  Sumário
Ivan Luiz Marques Ricarte
2001-06-01