Bonjour,
Alors voila quelque chose que je connais assez bien en C# mais que j'ai un peu de mal à appréhender en C++, c'est le transtypage.
Bon pour faire simple, j'ai une classe Mere et ses classes fille Fille1 et Fille2 (classe Fille1 : public Mere, et class Fille2 : public Mere), j'aurais voulus qu'un tableau de type Mere puisse accueillir en son sein des objets de type Fille1 ou Fille2, j'ai donc ecrit dans mon programme
Or j'obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Fille1 * mafille1 = (Fille1) malloc (sizeof(Fille1)); Fille2 * mafille2 = (Fille2) malloc (sizeof(Fille2)); m_tabMere[0] = dynamic_cast<Mere *> (maFille1); m_tabMere[1] = dynamic_cast<Mere *> (maFille2);
error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'class Mere *' (or there is no acceptable conversion)
ainsi donc comme pourrais-je de façon simple insérer dans un tableau de type Mere différents objets de différentes classes Fille1 et Fille2 ? j'ai cherché, je ne trouve pas, je pensais qu'il suffisait que le type fille hérite de la mere, mais non apparemment.
Partager