Bonjour à tous,
J'ai un problème de conception que je n'arrive pas à résoudre.
J'aimerais créer un objet qui puisse appeler les méthodes d'autres objets.
C'est dans le cadre d'une console graphique. J'aimerais avoir l'objet "Console" d'un coté, et depuis l'objet, disons "Ecran" binder la méthode "resize" depuis la classe "Ecran" à ma console.
Et qu'ensuite avec la console, appeler un objet de type "Ecran" et sa méthode "resize" quand je tape une commande que j'aurais définie pendant le bind.
Seulement, je n'arrive pas à stocker des pointeurs de fonctions membres dans un containeur, parce qu'évidemment le type diffère.
Et je n'y arrive pas non plus avec les templates. Le compilateur m'oblige à faire un containeur par type.
Est ce que quelqu'un à une idée ? Il n'y aurait que le nom de la classe qui diffère.
Je vais forcer le prototype à "std::string fonction (const std::string & param)", ça suffira amplement.
J'ai déjà tenté le tutorial de Laurent Gomila, mais j'ai pleins d'erreurs à la compilation dû aux templates et à des appels de méthode virtuelle non définie.
Il y a un peu trop d'étapes, alors je ne sais pas par où commencer pour comprendre les problèmes de compilation.
Je suis avec GCC(-std=c++0x) sous linux. C'est peut-être pour ça que j'ai un tas de bugs avec les templates.
J'ai l'habitude d'instancier mes templates dans un fichier spécial. Ici je vois pas quoi instancier... Autant être franc, je comprend rien lol.
NOTE : je me suis planté de forum, il y a moyen qu'un modérateur me le déplace dans le forum général C++. Merci.
Partager