Bonjour
ma question porte sur le polymorphisme et la résolution dynamique des types (ou du moins je crois ^^).
Imaginons que j'ai une classe Base et une classe Derivee qui hérite de Base.
J'ai une autre classe qu'on appellera C, qui a un attribut de type Base* . C a un constructeur du genre C(Base* b)
Evidemment en construisant un objet C, je voudrais pouvoir lui donner une Base ou une Derivee (d'où le nom à 2 balles de l'attribut de C...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 class Base { //atributs de Base } class Derivee : public Base { //atributs propre à Base } class C { Base* baseOuDerivee; C(Base* b) {baseOuDerivee = b;} }
Je peux construire des objets C en passant une Derivee au constructeur, mais impossible d'accéder aux attributs propres à Derivee. Les Derivee sont
castées en Base implicitement.
J'aimerais savoir comment résoudre ce problème (s'il est résolvable, of course)
Merci
Partager