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

Comment initialiser correctement les membres de données Const en C ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-05 00:42:11425parcourir

How to Properly Initialize Const Data Members in C  ?

Initialisation d'un membre de données const en C

En C, lors de la tentative d'initialisation d'un membre de données const dans une déclaration de classe, des erreurs telles que " ISO C interdit l'initialisation du membre" et "rendre le "t" statique" peut survenir. Pour résoudre ce problème, il est essentiel de comprendre la nature des membres de données const.

Les variables Const indiquent une valeur qui ne peut pas être modifiée lors de l'exécution du programme. Cependant, C exige que les définitions d'objets aient des déclarations uniques. Pour respecter cette règle, les variables const ne peuvent pas être définies dans les déclarations de classe.

La solution réside dans la définition de la variable const en dehors de la déclaration de classe, en utilisant la liste d'initialisation. La syntaxe pour initialiser un membre de données const est :

className() : memberName(value) {}

Dans votre exemple :

#include <iostream>

using namespace std;

class T1
{
  const int t;

public:
  T1() : t(100) {}
};

int main()
{
  T1 obj;
  cout << "T1 constructor: " << obj.t << endl;
  return 0;
}

Ce code initialise le membre de données const t avec la valeur 100 lors de la construction de l'objet, évitant ainsi le erreurs susmentionné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