private (C++)
Syntax
private:
[member-list]
private base-class
Hinweise
Wenn eine Liste von Klassenmitgliedern vorangeht, gibt die private
Schlüsselwort (keyword) an, dass diese Mitglieder nur über Memberfunktionen und Freunde des Kurses 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 die private
Schlüsselwort (keyword) 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 kann sich der C++-Zugriffsbezeichner Schlüsselwort (keyword) (public
, private
und protected
) auf die Sichtbarkeit von Typen und Methoden in Bezug auf Assemblys auswirken. Weitere Informationen finden Sie unter Elementzugriffssteuerung.
Hinweis
Dateien, die mit /LN kompiliert wurden, sind von diesem Verhalten nicht betroffen. 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
}
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für