Sdílet prostřednictvím


private (C++)

Syntaxe

private:
   [member-list]
private base-class

Poznámky

Když předcházíte seznamu členů třídy, klíčové slovo určuje, private že tito členové jsou přístupní pouze z členských funkcí a přátel třídy. To platí pro všechny členy deklarované až do dalšího specifikátoru přístupu nebo na konec třídy.

Když předchází název základní třídy, klíčové slovo určuje, private že veřejné a chráněné členy základní třídy jsou soukromé členy odvozené třídy.

Výchozí přístup členů ve třídě je soukromý. Výchozí přístup členů ve struktuře nebo sjednocení je veřejný.

Výchozí přístup základní třídy je soukromý pro třídy a veřejné pro struktury. Sjednocení nemohou mít základní třídy.

Související informace najdete v tématu přátelé, veřejné, chráněné a členové tabulky řízení přístupu k členům třídy.

Specifické pro možnost /clr

V typech CLR mohou klíčová slova specifikátoru přístupu jazyka C++ (public, privatea protected) ovlivnit viditelnost typů a metod s ohledem na sestavení. Další informace naleznete v tématu Řízení přístupu člena.

Poznámka

Toto chování neovlivní soubory kompilované pomocí /LN . V tomto případě budou všechny spravované třídy (veřejné nebo soukromé) viditelné.

Specifické pro možnost END /clr

Příklad

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

Viz také

Řízení přístupu k členům třídy
Klíčová slova