private (C++)
Syntaxe
private:
[member-list]
private base-class
Notes
Lorsque vous précèdez une liste de membres de classe, le private
mot clé spécifie que ces membres sont accessibles uniquement à partir de fonctions membres et d’amis de la classe. Cela s'applique à tous les membres déclarés jusqu'au spécificateur d'accès suivant de la classe.
Lorsque vous précèdez le nom d’une classe de base, l’mot clé private
spécifie que les membres publics et protégés de la classe de base sont des membres privés de la classe dérivée.
L'accès par défaut des membres d'une classe est privé. L'accès par défaut des membres d'une structure ou d'une union est public.
L'accès par défaut d'une classe de base est privé pour les classes et public pour les structures. Les unions ne peuvent pas avoir de classes de base.
Pour plus d’informations, consultez ami, public, protégé et la table d’accès aux membres dans Contrôle de l’accès aux membres de la classe.
Spécifique /clr
Dans les types CLR, le spécificateur d’accès C++ mot clé s (public
, private
et protected
) peut affecter la visibilité des types et méthodes en ce qui concerne les assemblys. Pour plus d’informations, consultez Contrôle d’accès aux membres.
Remarque
Les fichiers compilés avec /LN ne sont pas affectés par ce comportement. Dans ce cas, toutes les classes managées (public ou privées) seront visibles.
Spécifique END /clr
Exemple
// 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
}
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour