J'ai une collection de classes, qui doivent toutes fournir une fonction membre statique retournant un pointeur vers une chaine de caract�re. Je souhaiterais factoriser au maximum mon code.
Voici mon approche sachant que ca coince � la compilation.
Je fais un mod�le qui prend en argument la chaine de caract�re et qui impl�mente la fonction statique :
Ensuite, je fais h�riter toutes mes classes de ce modele en le sp�cialisant :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 template< char const * str> struct Base { inline static char const * affiche() { return str; } };
Le compilateur ne semble pas appr�cier l'instanciation du modele. J'ai tent� de contourner le probleme en stockant la chaine dans une variable char const * int�rm�diaire mais sans plus de succ�s car d'autres erreurs apparaissent.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 struct A : Base<"A"> { /**/ }; struct B : Base<"B"> { /**/ }; struct C : Base<"C"> { /**/ }; struct D : Base<"D"> { /**/ };
Toutes suggestions sont les bienvenues. Ma conception object n'est peut etre pas optimale au dela du probleme de syntaxe.
Xter.
Partager