Bonjour,

Je développe une petite librairie de classes génériques que je réutiliserai dans mes projets, dans laquelle j'incorpore une classe "Fabrique" (du design pattern du même nom) à l'aide de templates. D'ailleurs, elle est très fortement inspirée du cours de developpez.com :
http://come-david.developpez.com/tut...e=Fabrique#LIV

Je n'ai pas trouvé d'autre moyen que de dériver ma classe Factory<Operation> (par exemple) en :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
OpFactory* factory = dynamic_cast<OpFactory*>(OpFactory::instance());
où la classe OpFactory dérive bien sur de Factory<Operation> et Factory<Operation> est implémentée sous forme de singleton.

Je ne suis pas un fin connaisseur des casts, mais j'en sais assez pour savoir qu'il faut se méfier de ce genre de pratique. La preuve par 3 après 2 secondes de recherche :
http://cpp.developpez.com/faq/cpp/in...RS_downcasting

Aussi, je voudrais savoir s'il y a un moyen plus sioux d'étendre la Factory avec template ?

Merci d'avance pour vos réponses !