-
Reflexion en C++
Bonjour,
Je suis en train d'implémenter une factory qui génère un sous type de Parser (Une classe abstraite que j'ai faite). La factory contient une méthode getParser qui, selon le type du fichier (extension), appelle le sous type Parser convenable.
Le problème c'est que je ne veux pas limiter les sous types de Parser avec un map<string, class). donc, j'aimerai bien avoir un moyen d'appeler la classe de façon dynamique (en composant son nom).
Est ce possible en standard C++, et comment peut on le faire?
merci
-
Si tu utilise des factory templates, la seule maintenance à faire sera de rajouter une ligne par Parseur à "register".
(C'est ce qui est utilisé dans le projet Ork par exemple)
D'un autre côté : as-tu vraiment un nombre illimité de Parseur, au point que maintenir une table est bloquant ?
-
Salut
En standard non, mais sinon tu as CAMP (découvert ici). Sinon je suis d'accord avec Ponce, vérifie que ton besoin est bien la réflexion, ce serait dommage de t'embêter avec si tu peux le faire en statique.