Une fonction
générique est
paramétrée
(mot-clé template)
par un nom de type
prédéfini
(int, float ...) ou de classe créée par le
programmeur.
La
fonction générique va donc pouvoir fonctionner
avec des
arguments
de différents types.
Exemple:
template
<class Type>
Type
max2(Type x, Type y) {
//
on pourrait même
mettre
la fonction inline
return
(x>y ? x : y);
}
l'appel max(a,b) marchera aussi bien sur des int, des float que des double.
Attention, ne
pas mélanger des arguments de
type
différents dans l'appel de la fonction
précédente.
On pourrait utiliser deux noms de type :
template <class Un, class Deux>
Voir
ici la
généricité
pour les classes