Heritage et derivation de type - C++ - Programmation
Marsh Posté le 15-11-2008 à 10:47:58
Deux réponses :
Version puriste : Tu n'as pas à le faire. Si tu cherches à faire ça, c'ets que ta modélisation est bancale car elle viole le principe de substitution de Lyskov
Version ad-hoc moche : Utilise dynamic_cast.
Code :
|
Mais bon, meuble et livre n'ont aucune raison d'hériter de la même classe mére.
Marsh Posté le 15-11-2008 à 13:55:01
Oui mon exemple était un peu bancale. Mais en gros je me demandais comment faire pour afficher les attributs d'une classe fille a partir d'un pointeur du même type que dans mon précédent message.
Mais je viens de trouver comment faire avec le polymorphisme.
Merci en tout cas.
Marsh Posté le 15-11-2008 à 02:22:38
Bonjour,
J'ai de petits soucis a comprendre comment fonctionne la dérivation de type.
Je m'explique :
Je dispose de 4 classes :
-Une classe chambre
-Une classe objet
-2 classes filles de objet, appellons les meubles et livres
Chambre a comme attribut un tableau de pointeur de type objet.
Je veux pouvoir ajouter dans ce tableau des objets de la classe meuble ou livre.
Pour cela je créer une méthode ajouter_objet dans la classe chambre et je fais selon la cas soit :
soit :
Cela fonctionne bien cependant lorsque je fais cela je n'ai plus acces aux methodes et arguments qui ne sont pas issus de la classe mere a partir de ce tableau (me suis je bien fait comprendre?
Ma question est donc la suivante : Comment puis je faire pour avoir un tableau de pointeur permettant de pointer vers des objets de chacunes de ces 2 classes tout en pouvant utiliser a partir de celui-ci les méthodes et arguments propre a chacune de ces 2 classes filles?
En espérant avoir été clair, je vous remercie d'avance pour vos réponses.