Udostępnij za pośrednictwem


private (C++)

private:
   [member-list]
private base-class

Uwagi

Gdy listę elementów członkowskich klasy poprzedza słowo kluczowe private, określa ono, że te elementy członkowskie są dostępne tylko z funkcji elementów członkowskich i zaprzyjaźnionych elementów klasy.Dotyczy to wszystkich elementów członkowskich zadeklarowanych do następnego specyfikatora dostępu lub do końca klasy.

Gdy nazwę klasy podstawowej poprzedza słowo kluczowe private, określa ono, że publiczne i chronione elementy członkowskie klasy podstawowej są prywatnymi elementami członkowskimi klasy podstawowej.

Domyślnym ustawieniem dostępu elementów członkowskich w klasie jest prywatny.Domyślnym ustawieniem dostępu elementów członkowskich w strukturze lub związku jest publiczny.

Domyślnym ustawieniem dostępu klasy podstawowej jest prywatny dla klas i publiczny dla struktur.Związki nie mogą mieć klas podstawowych.

Aby uzyskać powiązane informacje, zobacz friend, public, protected, a także tabelę dostępu do elementu członkowskiego w Kontrolowanie dostępu do elementów członkowskich klasy.

Specyficzne dla /clr

W typach CLR, słowa kluczowe specyfikatorów dostępu C++ (public, private i protected) mogą wpływać na widoczność typów i metod w odniesieniu do zestawów.Aby uzyskać więcej informacji, zobacz Widoczność typów i członków.

[!UWAGA]

Zachowanie to nie ma wpływu na pliki skompilowane z /LN.W tym przypadku, będą widoczne wszystkie klasy zarządzane (publiczne lub prywatne).

Przykład

// 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
}

Zobacz też

Informacje

Kontrolowanie dostępu do członków klasy wartości

Słowa kluczowe języka C++