Le langage C++cours TD 4IUP GMI 3 Johann Vandromme2006 - 2007 johann.vandromme@lifl.frLes templates Contrairement au Java : toutes les classes C++ nedérivent pas d'une classe commune (Object) Mécanisme permettant de faire un mêmetraitement sur des objets divers (liste d'objets – ouopérations similaires sur des types simples)class Operation Ex :{public: int addition (int a, int b) { return a+b ; } float addition (float a, float b) { return a+b ; }} ;Plan 1 - Création d ’une classe template 2 - Utilisation de template 3 - Valeurs par défaut 4 - La STL11 - Creation d'une classe template ex : la classe Operation : la définition de la classeest précédé de « template » Ensuite, on utilise le paramètre T pour désigner letype souhaitétemplate class Operation{public: T addition (T a, T b);} ;Définition du corps des méhodes La définition doit impérativement se faire au seindu header (– autre méthode ?) La définition de chaque méthode est précédée de« template » Le nom de la classe est suivi par template T Operation::addition (T a, T b){return a+b;} ;2 - Utilisation de templates Spécification du type de données traitéesOperation operationInt;int res = operationInt.addition(1,2); Remarque : le type de donnée traité par uneinstance n'est pas dynamique (dans cet exemple,on ne peut changer le type « int » en « float » pourl'instance operationInt ...
Voir