template et condition [C++] - C++ - Programmation
Marsh Posté le 02-12-2002 à 17:16:29
Simple : le retour de la fonction est un template.
Regarde les tonnes d'exemple dans la doc.
Marsh Posté le 02-12-2002 à 21:28:56
Bon, j'ai jamais utilisé la spécialisation de template, mais ton message m'a donné l'envie irrésisble d'essayer :-)
Code :
|
Si tu veux éviter de dupliquer le code (constructeur, autres fonctions membres), tu peux toujours faire une classe template de base, puis faire une classe template fille qui elle sera spécialisée.
Code :
|
Marsh Posté le 03-12-2002 à 03:05:13
Solution 1: Spécialiser pour le type double.
Pour éviter de dupliquer le code commun, il faut le placer dans une classe de base, éventuellement patron.
Code :
|
Solution 2: Reporter la spécialisation dans la fonction, qui doit être un objet-fonction.
Le code n'est pas dupliqué, mais la fonction n'est plus une méthode et n'accède plus aux membres.
Code :
|
Code de test commun aux deux:
Code :
|
Marsh Posté le 02-12-2002 à 13:25:04
Ma question est peut-être un peu farfelue mais bon j'essaye tout de même :
Je souhaiterais faire un template sur une classe contenant au moins une fonction qui retourne un double si lors de la création d'une entité de la classe j'ai choisi ce type et retourne un float pour tous les autres types...
Je ne sais pas si c'est faisable mais il faudrait à mon avis faire un test sur le type passé en paramètre et instencier la bonne fonction...