Bonjour,
Désolé pour l'intitulé du message qui n'est pas des plus précis, mais je n'ai pas mieux
Voila mon problème :
je dispose d'une hiérarchie de classe telle que :
la classe de base (notons la BaseClass) n'est pas templatée.
Je dispose aussi de classes filles qui elles sont templatées (sur une dizaine de types différents possibles)
Ces classes filles possèdent une méthode non templatée que ne possède pas la classe "BaseClass".
Dans le concret, je dispose d'un vector instancié sur la BaseClass mais contenant à l'execution les classes filles templatées sur différents types.
La question est simplement comment appeler la fonction définie dans les classes filles? Jusqu'a présent la seule solution que je vois est une suite de dynamic_cast sur tous les templates possibles mais ce n'est pas tres joli...
J'aimerais donc un truc du genre:
Au lieu de :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 vector < BaseClass* > toto; dynamic_cast <ClasseFille <> > (toto[i]) -> methodePropreAuxFilles()
J'espere que la question n'a pas déjà été posée (je ne crois pas),
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 vector < BaseClass* > toto; if (ClasseFille <template1> * cf = dynamic_cast <ClasseFille <template1> > (toto[i])) cf->methodePropreAuxFilles(); else if (ClasseFille <template2> * cf = dynamic_cast <ClasseFille <template2> > (toto[i])) cf->methodePropreAuxFilles(); .... ....
Merci beaucoup d'avance !
Partager