Freigeben über


private (C++)

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
}

Siehe auch

Steuern des Zugriffs auf Klassenmember
Schlüsselwörter