|
Sujet : Templates ... mais qu'est ce que c'est donc que ça ? |
| BENB |
El_gringo a écrit a écrit :
mais du coup dans ces trucs là on peux faire que des choses assez simples, seulement avec des opérateurs puisque c la seule choses qui ne dépend pas du type des données...
c relativement rare en fait, non !?
|
Non tu peu faire :
template<class T>
void titi(T &a)
{
a.foo();
}
mais si tu appel cette fct sur une classe qui n'a pas de methode foo... tu aurra une erreur...
en fait les templates doivent etre dans des .h, et ils sont instancies soit explicitement soit quand le compilo trouve un appel, il instancie la bonne fct.
Lors de l'instanciation il "compile" en fait la fonction avec le type utilise...
Les templates peuvent etre des alternatives aux heritages, et en plus il n'y a pas de degradation de perf normalement...
je m'explique si deux classes ont une methode foo elles peuvent etre appliques a la methode titi ci dessus, sinon il aurrait fallu deux methodes identiques , ou que ces deux classes derivent d'un classe commune definissant la methode foo. |