Bonjour,

Pouvez vous m'aider pour une question qui parait bête mais dont je n'ai pas la solution :

J'ai 2 classes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
class AbstractUField
template <typename T> class UField : public AbstractUField
Dans mon code j'utilise des vecteurs de AbstractUField* et pour m'aider à déboguer le truc, j'aurais voulu ajouter une méthode dans AbstractUField qui me ressort dans une chaine de caractère la valeur contenu dans UField.

Donc j'aurais voulu faire quelque chose comme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
class AbstractUField
{
virtual const string& toString(void) { /* ici je retourne les adresses des objets car je ne sait rien d'autre */ };
};
Le souci c'est que je ne sait pas comment définir une fonction par laquelle passerais mon programme en fonction du type de fils, (entier, double, ou autre objets). J'aurais bien aimer faire un truc du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
template <typename T> 
class UField 
{
const string& toString<int>(void) { /* je retourne mon entier en string */ };
const string& toString<double>(void) { /* je retourne mon double en string */ };
const string& toString<MaClasse>(void) { /* je retourne MaClasse en string */ };
//etc...
};
Quelqu'un à une idée de comment je pourrais faire svp ? merci