Condividi tramite


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
}

Vedere anche

Riferimenti

Controllo dell'accesso ai membri di classe

Parole chiave C++