Voilà j'ai un petit problème avec les ligatures dynamiques:
Jusque là tout semble marcher mais en fait non car pBase[0][1] ne possède pas les attributs de MaDerivee.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 MaBase* pBase[4][5]; //déclaration du tableau pBase[0][0] = new MaBase(); //occurence de la classe de base pBase[0][1] = new MaDerivee();//occurence de la classe dérivée
De plus j'ai fait un test du genre :
et test possède l'attribut de MaDerivee et seulement quelques uns de la classe de base.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MaDerivee *test = new MaDerivee();//occurence de la classe dérivée
Le problème doit être dans les constructeurs, je pense. Ils sont très simples pourtant.
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 MaBase::MaBase() { attribut1 = 0; //posséder par l'occurence test attribut2 = 0;// pas posséder attribut3 = "";//posséder attribut4 = "";//pas posséder for(int i = 0; i < 2; i++) attribut5[i] = "";//posséder }
sachant que MaDerivee et MaBase possède aussi des attributs de type: classe développée par moi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 MaDerivee::MaDerivee():MaBase() { }
problème: pBase[0][1] ne possede pas les arguments de la dérivée et les occurences de la dérivée n'ont pas accès à tous les attributs de la base
Partager