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'appelle Les 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.

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.

Ainsi une action possède un pointeur sur fonction membre d'objet en attribut
Code : Sélectionner tout - Visualiser dans une fenêtre à part
int (AObject::* _action)(AObject *);
et une objet possède une liste d'action.

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'attribut avec des paramètres variables, de sorte qu'on puisse lui assigné un pointeur sur fonction membre d'objet avec n'importe quel paramètre.
Puisqu'au fond cet attribut ne sert qu'à stocker une fonction de la classe Pour info je développe sous Qt, et je ne vois pas trop comment le faire avec des QVariant.

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.