Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Syntax
private:
[member-list]
private base-class
Hinweise
Beim Vorangehen einer Liste von Klassenmitgliedern gibt das private
Schlüsselwort an, dass diese Member nur von Mitgliedsfunktionen und Freunden des Kurses aus zugänglich sind. Dies gilt für alle Member, die bis zum nächsten Zugriffsspezifizierer oder am Ende der Klasse deklariert werden.
Vor dem Namen einer Basisklasse gibt das private
Schlüsselwort an, dass die öffentlichen und geschützten Member der Basisklasse private Member der abgeleiteten Klasse sind.
Der Standardzugriff von Membern einer Klasse ist privat. Der Standardzugriff der Member in einer Struktur oder Union ist öffentlich.
Der Standardzugriff einer Basisklasse ist bei Klassen privat und bei Strukturen öffentlich. Unions können keine Basisklassen aufweisen.
Verwandte Informationen finden Sie unter "Freund", "Öffentlich", "geschützt" und in der Tabelle "Memberzugriff" unter "Steuern des Zugriffs auf Klassenmitglieder".
"/clr"-spezifisch
In CLR-Typen können die C++-Schlüsselwörter für Zugriffsspezifizierer (public
, private
und protected
) die Sichtbarkeit von Typen und Methoden hinsichtlich der Assemblys beeinträchtigen. Weitere Informationen finden Sie unter Mitgliederzugriffssteuerung.
Hinweis
Dateien, die mit /LN kompiliert werden, werden durch dieses Verhalten nicht beeinflusst. In diesem Fall werden alle verwalteten Klassen (entweder "public" oder "private") angezeigt.
"/clr"-spezifisch – Ende
Beispiel
// keyword_private.cpp
class BaseClass {
public:
// privMem accessible from member function
int pubFunc() { return privMem; }
private:
void privMem;
};
class DerivedClass : public BaseClass {
public:
void usePrivate( int i )
{ privMem = i; } // C2248: privMem not accessible
// from derived class
};
class DerivedClass2 : private BaseClass {
public:
// pubFunc() accessible from derived class
int usePublic() { return pubFunc(); }
};
int main() {
BaseClass aBase;
DerivedClass aDerived;
DerivedClass2 aDerived2;
aBase.privMem = 1; // C2248: privMem not accessible
aDerived.privMem = 1; // C2248: privMem not accessible
// in derived class
aDerived2.pubFunc(); // C2247: pubFunc() is private in
// derived class
}