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çã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.