Qu'est-ce qu'un constructeur d'héritage en C++

Qu Est Ce Qu Un Constructeur D Heritage En C



En C++, héritage est une notion clé de la programmation orientée objet. Une classe dérivée peut hériter des traits et des comportements d'une classe de base grâce au puissant héritage capacité en C++. Une classe dérivée hérite immédiatement de tous les membres de la classe de base lorsqu'elle est formée. Il est nécessaire que le constructeur de la classe dérivée initialise également les membres de la classe de base. En C++, héritage est une fonctionnalité puissante qui permet aux développeurs de réutiliser le code, d'améliorer l'efficacité et d'organiser le code en hiérarchies logiques.

Outre l'héritage, les constructeurs sont également essentiels en C++. UN constructeur est une fonction membre unique qui vous permet d'initialiser les propriétés de l'objet. Un Constructeur d'héritage est un constructeur utilisé pour initialiser à la fois la classe de base et les objets de classe dérivée dont la classe dérivée a hérité. Le constructeur d'héritage est responsable de l'initialisation des membres de la classe de base hérités et des membres de la classe dérivée. Pour ce faire, le constructeur invoque le constructeur de la classe de base, en s'assurant que tous les membres de la classe dérivée sont correctement initialisés, y compris ceux hérités de la classe de base.

En invoquant le constructeur de la classe de base et en lui transmettant les paramètres nécessaires, le constructeur d'héritage initialise les membres de la classe de base. Ceci est accompli en utilisant le 'classe de base (arguments)' liste d'initialisation dans le constructeur. D'autres instructions spécifiques à la classe dérivée sont fournies dans le corps du constructeur.







La syntaxe de hériter une classe en C++ est :



classe Classe dérivée : accessSpecifier BaseClass {
// membres de la classe
} ;

La nouvelle classe étant formée dans ce cas, 'Classe dérivée', va hériter de « Classe de base ». Le niveau d'accès aux membres hérités est spécifié par le ' spécificateur d'accès ». C++ utilise trois types de spécificateurs d'accès, à savoir 'public-privé', et 'protégé' . Le mot 'public' indique que la classe dérivée a accès aux membres publics de la classe de base. La classe dérivée n'a pas accès aux membres de la classe de base, selon le 'privé' spécificateur. La classe dérivée a accès aux membres protégés de la classe de base qui peuvent être hérités par leurs classes enfants, selon le 'protégé' spécificateur.



Exemple d'héritage en C++

L'exemple suivant montre la mise en œuvre de Héritage en C++ :





#include
en utilisant espace de noms std ;

classe Animal {
public :
annuler manger ( ) {
écoute << 'Je peux manger!' << fin ;
}
annuler dormir ( ) {
écoute << 'Je peux dormir!' << fin ;
}
} ;
classe Chat : public Animal {
public :
annuler Miaou ( ) {
écoute << « Je peux miauler ! » << fin ;
}
} ;
entier principal ( ) {
Chat chat1 ;
chat1. manger ( ) ;
chat1. dormir ( ) ;
chat1. Miaou ( ) ;

retour 0 ;
}

Le code donné définit deux classes, 'Animal' et 'Chat' , où 'Chat' dérive de 'Animal' . Les deux classes ont des fonctions membres, telles que 'manger dormir' , et 'Miaou' . La fonction main crée un objet de la classe 'Chat' et appelle le hérité fonctions de la classe 'Animal' ainsi que la fonction spécifique de la classe 'Chat' , lequel est 'Miaou' . Le programme envoie le texte à la console, indiquant que le chat peut manger, dormir et miauler.

Sortir



Lorsqu'une classe est dérivée, toutes les variables membres et fonctions membres de la classe de base sont transférées vers la classe dérivée. Le hérité l'accessibilité des membres dans la classe dérivée est déterminée par le spécificateur d'accès. La classe dérivée peut également substituer de nouvelles fonctionnalités à celles qui existent déjà. Il peut ajouter de nouvelles implémentations pour les méthodes de la classe de base et ajouter de nouvelles fonctions et variables membres.

Il est crucial de se rappeler que le constructeur d'héritage doit être utilisé pour appeler explicitement le constructeur de la classe de base avec les paramètres nécessaires si la classe de base a un constructeur par défaut ou s'il n'est pas disponible.

Conclusion

La caractéristique forte de héritage en C++ permet aux classes de réutiliser le code en héritant des caractéristiques et des actions des autres. Une fonctionnalité utile de C++ constructeur d'héritage permet aux classes dérivées d'hériter des propriétés, méthodes et données membres d'une classe de base. Avec l'ajout d'une liste d'initialisation pour les constructeurs de classe de base, il est défini en utilisant la même syntaxe qu'un constructeur standard. Les programmeurs C++ peuvent minimiser la duplication de code et améliorer la structure du code en utilisant le constructeur d'héritage . Pour créer des hiérarchies de classes complexes dans la programmation orientée objet, c'est un outil important.