Partilhar via


Tipos de classe anônima

Classes podem ser anônimos — ou seja, pode ser declaradas sem uma identificador.Isso é útil quando você substituir um nome de classe com um typedef nome, conforme mostrado a seguir:

typedef struct
{
    unsigned x;
    unsigned y;
} POINT;
ObservaçãoObservação

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

Classes anônimas também são úteis quando você deseja uma referência a um membro de classe para aparecer como se ele não estavam contidos em uma classe separada, como no seguinte:

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

PTValue ptv;

No código anterior, iValue podem ser acessados usando o operador de seleção de membro de objeto (.) da seguinte maneira:

int i = ptv.iValue;

Classes anônimas são sujeitos a certas restrições.(Para obter mais informações sobre uniões anônimas, consulte uniões.) Classes anônimas:

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

  • Não podem ser passados como argumentos para funções (a menos que a verificação de tipos é derrotada usando elipses).

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

Consulte também

Referência

Definindo tipos de classe