[conception] pb de Définition de classe par bouclage générique
Bonjour,
Je n'en suis pas à l'étape de codage mais plutôt de la conception papier et après avoir tourné mon pb sous différents angles, je n'ai que des solutions "impropres". Je considère ces solutions comme des contournements du C++ et donc vous demande assistance.
Pour avoir une substance à discuter, je vous donne tout d'abord l'objectif recherché :
Soit 1 classe objet générique représentative de ce que je pourrais appeller FORME.
Soit une méthode astucieuse pour coder une forme quelconque (ex : un carré, un cercle, deux tores, de la mousse, etc.). Cette construction utilise l'agrégation itérative : objetA := liste d'objetB:= liste d'objetC... jusqu'à un niveau terminal que je nommerais Z pour la forme. L'objet A pouvant être considérer comme représentation générale de la dite FORME.
Cependant tous ces objets sont des FORMEs en eux même (sauf la forme terminale si on veut), tout du moins c'est ce que je souhaiterais afin de m'abstraire des spécificités de chaque forme pour avoir des méthodes (ou opérateurs) cohérent.
_J'ai bien évidemment penser en premier lieu au polymorphisme mais cela ne gère que les méthodes identiques pour des objets indépendants entre eux mais construit à partir d'une classe mère virtuelle. Or j'ai des objets dépendants... par construction.
_Je pourrais rajouter un héritage commun (FORME) à chacune de ces classes mais cela ne permet rien (c'est rajouter du vent)
_Une solution batarde serait de créer une classe avec un pointeur (void*) et de le métamorphoser en fonction du véritable objet... c'est une mascarade.
_Je pourrais aussi abandonner l'idée de classe générique mais cela est pourtant tellement clair et évident qu'il doit bien y avoir une solution simple et efficace... mais p-ê sortir du C++ qui ne le peut peu être pas.
Merci d'avance pour vos conseils avisés.