Bonjour,

je suis en phase d'analyse pour un petit projet et je bloque sur quelque chose qui doit etre simple je pense mais qui m'echappe (Je reviens au langage objet que j'avais quitté depuis un moment).

Pour resumer, je défini une classe mère qui représente une structure de données qui seront chargées a partir d'un fichier tabulaire.
Cependant, il existe deux types de fichiers, un contenant beaucoup plus d'informations que l'autre.

J'ai donc défini dans ma classe mere les traitement communs aux deux types de fichiers ainsi que la declaration de la fonction virtuelle de lecture du fichier (apres reflexion je ne pense pas qu'il soit necessaire qu'elle soit virtuelle mais plutot uniquement dans les classes filles mais c'est un autre debat).

J'ai ensuite des classes filles qui heritent de cette premiere classe, l'une (pour le fichier ayant peu d'informations) apportant peu ou pas de fonctions specifiques et l'autre pour le fichier plus complet permettant de prendre en compte les informations supplementaires.
Le but de ces traitements supplementaires sera de filtrer certaines lignes du fichiers lu en fonction d'une autre colonne du fichier par exemple.


En bref, je dois pouvoir gerer dans une liste (un vector par exemple) les données de classes filles (peu importe qu'elles viennent d'un type de fichier ou de l'autre) et les presenter a l'utilisateur par le biais de l'interface graphique (QT mais ce n'est pas forcement important)
Je comptais donc faire un vector de pointeurs vers la classe mere et le parcourir pour afficher les infos necessaire.
On arrive enfin au coeur de ma question, j'aimerais, lorsque je presente la liste de ces objets pouvoir differencier si ils appartiennent a l'une ou l'autre des classes filles, pour proposer a l'utilisateur d'appuyer sur un bouton qui fera le traitement specifique adequat a chaque type.
Je ne vois pas comment faire cela sans appel a des fonctions speciales du langage qui stockent le type de la classe mais ca ne me plait guere (je ne trouve pas ca tres propre) et je soupçonne un defaut dans la conception du probleme.

Si vous aviez une idée ou une piste a suivre pour la base de mon schema ce serait super.

merci de votre aide.

Cordialement.