Salut tout le monde.
Je tente une implémentation que les interface ne m'offriraient pas comme je veux.
En effet j'ai une classe abstraite d'objets que je j'appelleLes classes concrètes dérivées de cette dernière implémentent des fonctions qui définissent leur comportement, comportement variant en fonction du type concret de l'objet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part AObject
Le mécanisme permettant à un objet d'exposer ses méthodes, est encapsulé dans une classe que j'appelle, possédant un nom, une description,,,,, et tout qui permet à un humain de comprendre son rôle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Action
Ainsi une action possède un pointeur sur fonction membre d'objet en attribut
et une objet possède une liste d'action.
Code : Sélectionner tout - Visualiser dans une fenêtre à part int (AObject::* _action)(AObject *);
Comme vous le remarquez, dans la signature de mon pointeur sur fonction membre, je passe un objet abstrait en paramètre, ce qui limite fortement les possibilités d'utilisation, voire même est inutile.
Ce que j'aimerais c'est pouvoir déclarer l'attributavec des paramètres variables, de sorte qu'on puisse lui assigné un pointeur sur fonction membre d'objet avec n'importe quel paramètre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part _action
Puisqu'au fond cet attribut ne sert qu'à stocker une fonction de la classePour info je développe sous Qt, et je ne vois pas trop comment le faire avec des QVariant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Object
Je n'y arrive pas non plus avec les templates variadiques.
J'aimerais donc savoir si quelqu'un ici appréhende un peu le truc, et aurait une solution à me proposer.
Merci pour votre aide.
Partager