Spécificateurs d'accès
Dans les déclarations de classe, les membres peuvent avoir des spécificateurs d'accès.
Grammaire
access-specifier : member-listopt
access-specifier : un des éléments suivants :
privatepublic
protected
access-specifier détermine l'accès aux noms qui le suit, jusqu'au access-specifier suivant ou jusqu'à la fin de la déclaration de classe. La figure suivante illustre ce concept.
Contrôle d'accès dans les classes
Bien que seuls deux spécificateurs d'accès soient indiqués dans l'illustration, il n'existe aucune limite quant au nombre de spécificateurs d'accès dans une déclaration de classe donnée. Par exemple, la classe Point dans l'illustration peut aussi bien être déclarée avec plusieurs spécificateurs d'accès comme suit :
// access_specifiers1.cpp
class Point
{
public: // Declare public constructor.
Point( int, int );
private: // Declare private state variable.
int _x;
public: // Declare public constructor.
Point();
public: // Declare public accessor.
int &x( int );
private: // Declare private state variable.
int _y;
public: // Declare public accessor.
int &y( int );
};
int main()
{
}
Notez qu'il n'existe aucun ordre spécifique requis pour l'accès aux membres, comme indiqué dans l'exemple précédent. L'allocation du stockage des objets des types de classe est dépendante de l'implémentation, mais les membres ont la garantie d'être assignés successivement aux adresses mémoire supérieures entre les spécificateurs d'accès.