Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Sintassi
private:
[member-list]
private base-class
Osservazioni:
Quando si precede un elenco di membri della classe, la private
parola chiave specifica che tali membri sono accessibili solo da funzioni membro e amici della classe. Quanto detto si applica a tutti i membri dichiarati fino al successivo identificatore di accesso o fino alla fine della classe.
Quando si precede il nome di una classe base, la private
parola chiave specifica che i membri pubblici e protetti della classe base sono membri privati della classe derivata.
L'accesso predefinito dei membri in una classe è privato. L'accesso predefinito dei membri in una struttura o in un'unione è pubblico.
L'accesso predefinito di una classe base è privato per le classi e pubblico per le strutture. Le unioni non possono avere classi base.
Per informazioni correlate, vedere friend, public, protected e la tabella di accesso ai membri in Controllo dell'accesso ai membri della classe.
Specifico di /clr
Nei tipi CLR, le parole chiave dell'identificatore di accesso C++ (public
, private
e protected
) possono influire sulla visibilità dei tipi e dei metodi relativi agli assembly. Per altre informazioni, vedere Controllo di accesso membro.
Nota
I file compilati con /LN non sono interessati da questo comportamento. In questo caso, tutte le classi gestite (sia pubbliche che private) saranno visibili.
Specifico di END /clr
Esempio
// 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
}