accéder à classe dérivée via une classe de base
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)
Code:
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;}
} |
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...).
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