Maison  >  Article  >  développement back-end  >  Constructeurs C : que signifie le deux-points après le constructeur ?

Constructeurs C : que signifie le deux-points après le constructeur ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-24 03:57:10390parcourir

C   Constructors: What Does the Colon After the Constructor Mean?

C : Comprendre les deux points après un constructeur

En C , les deux points suivant un constructeur indiquent l'utilisation d'une liste d'initialisation de membres. Cette liste sert deux objectifs principaux :

  • Appel des constructeurs de classes de base pour les classes héritées
  • Initialisation des membres de données avant l'exécution du corps du constructeur

Appel Constructeurs de classe de base

Lorsqu'une classe dérivée est définie, la liste d'initialisation des membres peut être utilisée pour appeler le constructeur de la classe de base. Ceci est réalisé en spécifiant le nom du constructeur de la classe de base suivi des arguments appropriés. Par exemple, dans l'exemple de code que vous avez fourni :

class newdemo : public demo {
public:
    newdemo(void) : demo(0, 0) {
        // Constructor body
    }
};

Dans ce cas, le : demo(0, 0) initialise la démo de la classe de base avec les paramètres 0 et 0.

Initialisation des membres de données

La liste d'initialisation des membres peut également être utilisée pour pré-initialiser les membres de données avant le corps du constructeur. exécute. Ceci est particulièrement utile pour les membres de données const ou les membres de données de référence. Pour les membres const, leur initialisation dans le corps du constructeur n'est pas autorisée, car leurs valeurs ne peuvent pas être modifiées une fois attribuées.

class Demo {
public:
    Demo(int& val) : m_val(val) {}
private:
    const int& m_val;
};

Dans cet exemple, le membre de données const m_val est initialisé à l'aide de la liste d'initialisation des membres. Il s’agit du seul emplacement autorisé pour attribuer une valeur à un membre de données const. De même, les membres des données de référence ne peuvent être initialisés que via la liste d'initialisation des membres.

Avantages supplémentaires

Au-delà des utilisations ci-dessus, la liste d'initialisation des membres est devenue une pratique courante dans Code C. Il améliore la lisibilité du code et sert d'indication claire de l'initialisation des membres de donné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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn