Comment appeler un constructeur de classe de base en C ?
Nov 26, 2024 am 08:23 AMAppel du constructeur de classe de base
Tout en travaillant avec l'héritage en Java, vous pouvez invoquer le constructeur de superclasse en utilisant super(). Cela soulève la question de savoir comment obtenir la même fonctionnalité en C.
Plus précisément, le problème se pose lors de l'héritage d'une classe de base C avec un constructeur autre que celui par défaut. Le compilateur avertit souvent de l'absence d'un constructeur par défaut approprié.
Solution : utiliser la liste d'initialisation du constructeur
Contrairement à Java, C n'a pas de super() explicite syntaxe pour appeler le constructeur de la classe de base. Au lieu de cela, vous spécifiez l’appel dans la liste d’initialisation du constructeur de la classe dérivée. La liste d'initialisation apparaît avant le corps du constructeur et est utilisée pour initialiser les variables membres.
Par exemple, considérons la classe de base suivante avec un constructeur qui prend un tableau de caractères comme argument :
class BaseClass { public: BaseClass(char *name); ... };
Pour appeler le constructeur de la classe de base dans la classe dérivée, incluez l'appel dans la liste d'initialisation :
class Foo : public BaseClass { public: Foo() : BaseClass("asdf") {} };
Cela garantit que le constructeur de la classe de base est invoqué avant que toute autre initialisation de membre ne se produise. Comme les constructeurs de la classe de base acceptent des arguments, ils doivent être spécifiés dans la liste d'initialisation avant que les variables membres ne soient initialisées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

C Fonction Langue Format de lettre ÉTAPES DE CONVERSION DE CAS

Quels sont les types de valeurs renvoyées par les fonctions du langage C? Qu'est-ce qui détermine la valeur de retour?

Gulc: Cibliothèque C construite à partir de zéro

Quelles sont les définitions et les règles d'appel des fonctions du langage C et quelles sont les

Comment fonctionne la bibliothèque de modèle standard C (STL)?

Utilisation distincte et partage de phrases

Où est la valeur de retour de la fonction de langue C stockée en mémoire?

Comment utiliser efficacement les algorithmes du STL (trier, trouver, transformer, etc.)?
