Bonjour tout le monde,
J'ai une question sur l'héritage multiple (enfin il me semble que ce cas est de l'héritage multiple --> à confirmer) :
J'ai une classe CChargeurFichierTexte :
on voit qu'elle hérite des objets publics de CChaineComposee :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class CChargeurFichierTexte : public CChaineComposee { public: CChargeurFichierTexte(); ~CChargeurFichierTexte(); bool Charger(const char* NomFichier, char UnSeparateur, bool (* FctnTraiterLigne)(const CChargeurFichierTexte&, void*), void* Contexte); private: };
Qui elle même hérite de CChaine :
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
18
19
20 class CChaineComposee : private CChaine { public: CChaineComposee(); // Constructeur par défaut CChaineComposee(const CChaineComposee& Source); // Constructeur par copie CChaineComposee(const char* UneChaine, char UnSeparateur); // Constructeur spécifique ~CChaineComposee(); // Destructeur long NombreChamps() const; // Accesseur du nombre de champs const char* Champs(long Indice) const; // Accesseur d'un champ bool Definir(const char* UneChaine, char UnSeparateur); // Modificateur permettant de modifier la chaîne et de générer le tableau des champs private: bool Decomposer(char UnSeparateur); // Modificateur permettant de modifier la chaîne et de générer le tableau des champs private: long m_NbrChamps; char** m_Champs; };
- On parle bien d'héritage multiple ici ?
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
18 class CChaine { public: CChaine(); // Constructeur par défaut CChaine(const CChaine& Source); // Constructeur par copie CChaine(const char* UneChaine); // Constructeur spécifique ~CChaine(); // Destructeur const char* Chaine() const; // Accesseur du texte de la chaîne bool EstNull() const; // Accesseur de test sur le texte (m_Chaine == NULL) bool EstVide() const; // Accesseur de test sur le texte (m_Chaine == NULL) || (m_Chaine == "") void Vider(); // Modificateur permettant de supprimer le texte de la chaîne (on revient à NULL) bool Chaine(const char* UneChaine); // Modificateur du texte de la chaîne private: char* m_Chaine; // Membre contenant l'adresse du tableau de caractères alloué dynamiquement };
- Est-ce que la classe CChargeurFichierTexte hérite de quelque chose de la classe CChaine ?
- CChaineComposee a un héritage private de CChaine, elle hérite de quoi alors de cette classe là ?
Un super grand merci d'avance pour votre aide et un super bon dimanche.
beegees
Partager