Appel du constructeur de classe de base en C
Contrairement au mot-clé super() de Java utilisé pour appeler le constructeur de classe de base, C fournit un mécanisme différent . Explorons comment appeler le constructeur de classe de base avec des arguments en C .
Problème :
Considérons une classe C avec un constructeur par défaut qui prend des arguments, comme :
class BaseClass { public: BaseClass(char *name); .... };
Lors de l'héritage de cette classe, on peut rencontrer un avertissement concernant l'absence de valeur par défaut appropriée. constructeur.
Solution :
C permet au constructeur de la classe de base d'être appelé dans la liste d'initialisation du constructeur de la sous-classe. Voici un exemple :
class Foo : public BaseClass { public: Foo() : BaseClass("asdf") {} };
Dans cet exemple, lorsque le constructeur Foo est invoqué, il initialise la classe de base BaseClass en utilisant le constructeur qui prend un argument de pointeur de caractère, en passant la chaîne "asdf" comme argument.
Remarque supplémentaire :
Les constructeurs de classe de base qui nécessitent des arguments doivent être appelé dans la liste d'initialisation avant que les membres de la sous-classe ne soient initialisés.
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!