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
Libérer: 2024-12-05 00:42:11
original
435 Les gens l'ont consulté

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) {}
Copier après la connexion

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;
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal