Condividi tramite


private (C++)

private:
   [member-list]
private base-class

Note

Quando precede un elenco di membri di classe, la parola chiave private indica che tali membri sono accessibili solo da funzioni membro e da elementi friend della classe. Quanto detto si applica a tutti i membri dichiarati fino al successivo identificatore di accesso o fino alla fine della classe.

Quando precede il nome di una classe base, la parola chiave private indica 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, pubblico, protetto 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 relativamente agli assembly. Per ulteriori informazioni, vedere Visibilità di tipo e membro.

Nota

Tale comportamento non influisce sui file compilati con /LN.In questo caso, tutte le classi gestite (sia pubbliche che private) 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 classi

Parole chiave C++