Maison >développement back-end >C++ >Comment puis-je initialiser les membres de données Const en C ?

Comment puis-je initialiser les membres de données Const en C ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-09 15:29:15934parcourir

How Can I Initialize Const Data Members in C  ?

Initialisation des membres de données Const

Lorsque vous tentez d'initialiser un membre de données Const dans une définition de classe, vous pouvez rencontrer un message d'erreur indiquant que C interdit une telle initialisation. Cette erreur survient car les variables const, comme leur nom l'indique, sont constantes et ne peuvent pas être modifiées une fois initialisées.

Pour initialiser un membre de données const, nous devons le déclarer dans la classe mais le définir en dehors de la classe. Cette approche garantit que la définition se produit avant la création de toute instance de la classe.

class T1 {
  const int t;

public:
  T1() : t(100) {
    cout << "T1 constructor: " << t << endl;
  }
};

Dans la définition de la classe, nous déclarons le membre de données const t sans attribuer de valeur. L'initialisation proprement dite a lieu dans la liste d'initialisation du constructeur, qui est exécutée avant le corps du constructeur.

Cette méthode nous permet d'initialiser les membres de données const tout en adhérant au principe selon lequel les variables const ne peuvent pas être modifiées pendant l'exécution du programme. En séparant la déclaration et la définition, nous garantissons que la variable t se voit attribuer une valeur constante au moment de la compilation et ne peut pas être modifiée par la suite.

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