Bonjour les amis,
Je suis en train d'utiliser pour la 1ère fois une classe abstraite.
Je vous explique mon problème :
En fait, j'ai créé différentes classes, une pour chaque structures de données (des piles, listes, arbres binaires...) qui dérivent TOUTES de ma classe abstraite.
J'ai par exemple déclaré une fonction estEgal dans ma classe abstraite. Et donc logiquement en fonction du type, ma fonction attend différents paramètres :
- un arbre pour tester l'égalité avec un autre arbre
- une pile pour tester l'égalité avec une autre pile
- ....
Mais maintenant j'ai une erreur dans mes classes lors de la compilation, car le compilateur signale que toutes les fonctions estEgal ne sont pas utilisées pour tous les types. Je m'explique : dans ma classe Pile qui dérive de ma classe abstraite, je n'ai pas utilisé la fonction estEgal qui attend comme paramètre un arbre (logique...)
Je pensais, que comme c'était le même nom de fonction 'estEgal', il n'y aurait pas de problème... Or cela ne semble pas être le cas.
Qu'est ce que vous pouvez me dire par rapport à ce problème ?
Est ce que je n'ai pour unique choix que de supprimer ces fonctions de ma classe abstraite ?
Merci à l'avance pour vos précisions
Partager