Partager via


Membres de classe

Les classes peuvent comprendre ces types de membres :

Notes

La liste des membres d'une classe peut être divisée en private, protected et des sections de public utilisation des mots clés appelés spécificateurs d'accès.Un signe deux-points Numéro de téléphone : doit suivre le spécificateur d'accès.Ces sections n'ont pas besoin d'être contiguës, c. autrement dit., l'un de ces mots clés peuvent apparaître plusieurs fois dans la liste des membres.Le mot clé indique l'accès à tous les membres avant le spécificateur d'accès suivant ou à l'accolade fermante.

Les déclarations de membre dans la liste des membres sont séparées par des points-virgules ;.Consultez syntaxe de déclaration de membre de classe.

L'objectif de la liste des membres est :

  • Déclarez l'ensemble complet des membres pour une classe donnée.

  • Spécifiez l'accès (public, privés, ou protégé) associé à différents membres de classe.

Dans la déclaration d'une liste de membres, vous pouvez déclarer des membres une seule fois ; le redéclaration des membres produit un message d'erreur.Étant donné qu'une liste des membres est un ensemble complet des membres, vous ne pouvez pas ajouter des membres à une classe donnée avec les déclarations de classe suivantes.

les déclarateurs membres ne peuvent pas contenir des initialiseurs.Fournissant un initialiseur produit un message d'erreur comme illustré dans le code suivant :

// class_members1.cpp
// C2864 expected
class CantInit
{
public:
    long l = 7;       // Error: attempt to initialize
                      //  class member.
    static int i = 9; // Error: must be defined and initialized
                      // outside of class declaration.
};
int main()
{
}

Étant donné qu'une instance séparée des données membres non statiques est créée pour chaque objet d'un type donné de classe, la façon correcte d'initialiser les données membres est d'utiliser le constructeur de la classe.(Les constructeurs sont couvertes dans constructeurs,.)

Il n'existe qu'une seule copie partagée les données membres statiques pour tous les objets d'un type donné de classe.Les données membres static doivent être définies et peuvent être initialisées au niveau de la portée du fichier.(Pour plus d'informations sur les données membres static, consultez Données membres static.) l'exemple suivant montre comment effectuer ces initialisations :

// class_members2.cpp
class CanInit
{
public:
    CanInit() { l = 7; } // Initializes l when new objects of type 
                         //  CanInit are created.
    long       l;
    static int i;
    static int j;
};

// i is defined at file scope and initialized to 15.
// The initializer is evaluated in the scope of CanInit.
int CanInit::i = 15;                                                       

// The right side of the initializer is in the scope 
// of the object being initialized
int CanInit::j = i;  

int main()
{
}

[!REMARQUE]

Le nom de la classe, CanInit, doit précéder i pour spécifier qu' i défini est un membre de classe CanInit.

Spécifique à Microsoft

Microsoft C++ permet la méthode statique, l'intégrale const, et les données membres const d'énumération à initialiser dans la définition de classe.Consultez l' Extensions Microsoft à C et à C++.

Voir aussi

Référence

Classes, structures, unions et