Partilhar via


Especificadores de acesso

Em declarações de classe, os membros podem ter especificadores de acesso.

Gramática

access-specifier : member-listopt

  • access-specifier: um de
    privado

    público

    protected

O access-specifier determina o acesso aos nomes que o seguem, até o próximo access-specifier ou o final da declaração de classe. A imagem a seguir ilustra esse conceito.

Controle de acesso em classes

Controle de acesso em classes

Embora apenas dois especificadores de acesso sejam mostrados na figura, não há limite para o número de especificadores de acesso em uma determinada declaração de classe. Por exemplo, a classe Point na figura poderia ser facilmente declarada usando vários especificadores de acesso, como se segue:

// 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()
{
}

Não há uma ordem específica obrigatória para o acesso de membros, conforme mostrado no exemplo anterior. A alocação de armazenamento para objetos de tipos de classe depende da implementação, mas é garantido que os membros receberão endereços de memória sucessivamente mais altos entre especificadores de acesso.

Consulte também

Referência

Controle de acesso a membro