Hello,
Je suis en train de faire une Factory. Elle contient donc des objets de même type de base.
J'aimerais mettre en place un système d'enregistrement auto de ces objets dans ma Factory, et en cherchant sur le net, j'ai lu qu'il fallait passer par des variables gloables.
Voilà en gros le truc :
class Factory
- getInstance
- register( string, Base*)
class Base
- constructeur
class Extended1 : class Base
- constructeur
Dans le .cpp définissant Extended1, je mets ça en global :
Code :
- Base* create_Extended1()
- {
- return new Extended1;
- }
- static bool Extended1_creator_registered = Factory::getInstance()->register( "Extended1", (Base*)create_Extended1() );
|
Mon problème est que ce code n'est jamais appelé, du coup pas d'enregistrement. Est-ce que j'ai loupé un truc ?
Note : le code de la Factory et de ce qu'elle contient se trouve généré dans un .lib
---------------
Be the one with the flames.