private (C++)
private:
[member-list]
private base-class
Poznámky
Pokud předchází seznam členů třídy, určuje klíčové slovo private, že jsou tyto členy přístupné pouze z členských funkcí a přátel třídy.To platí pro všechny členy deklarované pro další specifikátor přístupu nebo konec třídy.
Pokud klíčové slovo private předchází název základní třídy, určuje, že jsou veřejné a chráněné členy základní třídy soukromými členy odvozené třídy.
Výchozí přístup členů ve třídě je soukromý.Výchozí přístup členů struktury nebo sjednocení je veřejný.
Výchozí přístup k základní třídě je pro třídy soukromý a pro struktury veřejný.Sjednocení nemohou mít základní třídy.
Související informace naleznete v tématech friend, public, protected a v tabulce přístupu ke členům v tématu Řízení přístupu ke členům třídy.
Specifické pro možnost /clr
U typů modulu CLR klíčová slova specifikátoru přístupu jazyka C++ (public, private a protected) mohou ovlivnit viditelnost typů a metod s ohledem na sestavení.Další informace naleznete v tématu Typ a viditelnost členské.
[!POZNÁMKA]
Souborů zkompilovaných pomocí možnosti /LN se toto chování netýká.V tomto případě budou všechny spravované třídy (veřejné nebo soukromé) viditelné.
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
}