Compartilhar via


Tipos de classe anônima

As classes podem ser anônimas, ou seja, podem ser declaradas sem um identificador. Isso é útil quando você substitui um nome de classe por um nome de typedef, como a seguir:

typedef struct
{
    unsigned x;
    unsigned y;
} POINT;

Dica

O uso de classes anônimas mostradas no exemplo anterior é útil para preservar a compatibilidade com o código C existente.Em alguns códigos C, o uso de typedef em conjunto com estruturas anônimas será prevalente.

As classes anônimas também são úteis quando você quer que uma referência a um membro da classe apareça como se não estivesse contida em uma classe separada, como a seguir:

struct PTValue
{
    POINT ptLoc;
    union
    {
        int  iValue;
        long lValue;
    };
};

PTValue ptv;

No código anterior, iValue pode ser acessado usando o operador de seleção de membros de objeto (.) como segue:

int i = ptv.iValue;

As classes anônimas estão sujeitas a determinadas restrições. (Para obter mais informações sobre unions anônimas, consulte Unions.) Classes anônimas:

  • Não é possível ter um construtor ou um destruidor.

  • Não é possível ser transmitido como argumentos para as funções (a menos que a verificação de tipos seja derrotada usando reticências).

  • Não é possível ser retornado como valores de retorno de funções.

Consulte também

Referência

Definindo tipos de classe