privato (C++)
private:
[member-list]
private base-class
Note
Nel precedente un elenco di membri della classe, private la parola chiave specifica che i membri sono accessibili solo dalle funzioni membro e dagli elementi friend della classe.Si applica a tutti i membri dichiarati fino all'identificatore di accesso successivo o alla fine della classe.
Nel precedente il nome di una classe base, private la parola chiave specifica che i membri pubblici e protetti della classe base sono membri privati della classe derivata.
L'accesso predefinito di membri della classe è privato.L'accesso predefinito dei membri di una struttura o di unione è pubblico.
L'accesso predefinito di una classe base è privato per le classi e il pubblico per le strutture.Le unioni non possono avere classi base.
per informazioni correlate, vedere friend, pubblico, protettoe la tabella di accesso al membro in Controllo dell'accesso ai membri della classe.
/clr Specifico
Nei tipi CLR, le parole chiave dell'identificatore di accesso C++ (pubblico, privatee protected) può influire sulla visibilità di tipi e metodi rispetto agli assembly.Per ulteriori informazioni, vedere Visibilità di tipo e membro.
[!NOTA]
file compilati con /LN non sono interessati da questo comportamento.in questo caso, tutte le classi gestite (pubblico o privato) saranno visibili.
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
}