Problème d'héritage en C++ [Résolu]

Signaler
Messages postés
2
Date d'inscription
vendredi 24 avril 2009
Statut
Membre
Dernière intervention
30 avril 2009
-
Messages postés
2
Date d'inscription
vendredi 24 avril 2009
Statut
Membre
Dernière intervention
30 avril 2009
-
Bonjour, j'ai un problème qui m'occupe depuis deux jours et je n'arrive pas à le résoudre (malgrès une recherche intensive sur le web), peut-être que vous serez plus efficace que moi.

J'ai défini une bibliothèque à trois classes dont voici la hiérarchie :

File (classe mère)
|
+---+---+
|       |
V       V
Single_File        Multiple_File

La classe File possède entre autre les trois méthodes suivantes next_line, next_elem, write_string
qui sont déclarées publique. Les deux classes dérivées, dérivent de File de manière publique également

Le problème vient d'un autre programme qui utilise cette bibliothèque. A l'intérieur de ce programme, j'instancie un objet de type Single_File et j'utilise les méthodes next_elem, next_line, et write_string. Ces méthodes sont déclarées dans la classes mère File mais normalement je devrais y avoir accès dans la classe Single_File.

En fait, sur les trois méthodes citées juste avant, deux d'entre elles ne sont pas reconnues, le compilateur me retourne :

'class Single_File' has no member named 'next_elem'
'class Single_File' has no member named 'write_string'

Mais curieusement, la méthode next_line est acceptée sans souçi.
Une petite précision, next_elem est une méthode générique.

Avez-vous une idée de la bêtise que j'ai pu faire? Merci
J'utilise Dev-Cpp 4.9.9.2 sur windows XP

Si vous avez besoin des sources, dites-le moi. Comme le code est assez long, j'aimerais savoir s'il existe des balises à mettre autour du code source pour ne pas produire un message trop long.

<hr size="2" width="100%" />Every game has a story, only one is a legend

1 réponse

Messages postés
2
Date d'inscription
vendredi 24 avril 2009
Statut
Membre
Dernière intervention
30 avril 2009

Re-bonjour. J'ai résolu mon problème. En fait mes classes étaient écrites en plusieurs exemplaires dans différentes versions et placées dans différents répertoires. Dev-C++ devait donc surement lire les mauvais fichiers. J'ai fait un petit peu de nettoyage, et maintenant tout fonctionne. Du moins, les méthodes sont bien reconnues.

Désolé d'avoir rajouté ces deux messages pour rien
<hr size="2" width="100%" />Every game has a story, only one is a legend