Klassenmember

Klassen können diese Arten von Membern aufweisen:

Hinweise

Die Liste Member einer Klasse ist in private, in protected und mithilfe der Schlüsselwörter Öffentlich-Abschnitte unterteilt werden, die als Zugriffsspezifizierer bekannt sind.Ein Doppelpunkt : muss dem Zugriffsspezifizierer folgen.Diese Abschnitte müssen nicht zusammenhängend sein, d.h., werden möglicherweise alle Schlüsselwörter mehrmals in der Memberliste.Das Schlüsselwort wird der Zugriff aller Member oben bis zum nächsten Zugriffsspezifizierer oder die schließende Klammer fest.

Memberdeklarationen in der Memberliste werden durch Semikolons getrennt. **;**Weitere Informationen finden Sie unter Klassenmember-Deklarations-Syntax.

Der Zweck der Memberliste ist:

  • Deklarieren Sie den vollständigen Satz von Membern für eine bestimmte Klasse.

  • Geben Sie den Zugriff (öffentlich, privat, geschützt) oder zugeordneten verschiedenen Klassenmember an.

In der Deklaration einer Liste Member, können Sie Member nur einmal deklarieren. redeclaration von Membern legt eine Fehlermeldung vor.Da die Memberliste ein gesamte Satz der Member ist, können Sie keine Member angegebenen Klasse mit folgenden Klassendeklarationen hinzufügen.

deklaratoren Initialisierung können Mitglieder enthalten.Wenn Sie einen Initialisierer angeben, wird eine Fehlermeldung vor, wie im folgenden Code dargestellt:

// 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()
{
}

Da eine separate Instanz von nicht statischen Member von Daten für jedes Objekt eines angegebenen Klassentyps erstellt wird, ist die richtige Vorgehensweise beim Memberdaten zu initialisieren, den Konstruktor der Klasse zu verwenden.Konstruktoren sind in Konstruktoren() behandelt.

Es ist nur eine Kopie eines freigegebenen statischen Datenmember für alle Objekte eines angegebenen Klassentyps.Statische Datenmember müssen definiert werden, und können im Dateigültigkeitsbereich initialisiert werden.(Weitere Informationen zu statischen Datenmembern finden Sie unter Statische Datenmember). Im folgenden Beispiel wird veranschaulicht, wie diese Initialisierungen ausgeführt wird:

// 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()
{
}
HinweisHinweis

Der Klassenname muss CanIniti vorausgehen, um anzugeben, dass i , mit dem definiert wird, ein Member der Klasse CanInitist.

Microsoft-spezifisch

Microsoft C++ lässt, statische konstante ganze Zahl und die in der Klassendefinition zu initialisierenden const enum datenmember.Weitere Informationen finden Sie unter Microsoft-Erweiterungen zu C und C++.

Siehe auch

Referenz

Klassen, Strukturen und Unions