Спецификаторы доступа
В объявлениях класса члены могут иметь описатели доступа.
Грамматика
описатель-доступа : список-членовнеоб
описатель-доступа: один из
privatepublic
protected
Описатель-доступа определяет доступ к следующим за ним именам до следующего описателя-доступа или до конца объявления класса. Эта структура показана на следующем рисунке.
Управление доступом в классах
Хотя на рисунке представлено только два описателя доступа, количество описателей доступа в данном объявлении класса не ограничено. Например, класс Point на рисунке можно так же легко объявить с помощью нескольких описателей доступа, как показано ниже.
// 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()
{
}
Обратите внимание, что для доступа к членам не требуется какого-либо определенного порядка, как показано в предыдущем примере. Выделение хранилища для объектов типов классов зависит от реализации, но членам гарантировано присваиваются старшие адреса памяти, расположенные подряд между описателями доступа.