Se utilizan para declarar
un tipo de dato
"provisional".
Se declararán
variables con datos
de cualquier tipo.
El compilador reconocerá
este tipo de dato y le dará
el trato adecuado dentro
del método.
Así que podríamos mandar cualquier tipo de dato a esta plantilla, por
ejemplo un 3.72, y el compilador comenzará a tratar a esta variable
como un respectivo float.
Reemplazando a int,
float, char, string, etc.
por un momento.
Se declaran con la palabra
reservada "template".
template<class T>
Se declara en la clase.
template <class T>
class mypair { T a,b;
public: mypair(T
first, T second) {
a=first; b=second; }
T getmax(); };
Se vuelve a declarar
antes del método
donde se utilizará.
template <class T> T
mypair<T>::getmax () { T
val; val = a>b? a : b; return
val; }
En este ejemplo, cualquier tipo de valor
que llegue a las variables a y b a
través del first y second del
constructor será tratado como
tal dentro del programa.