Anonymní typy tříd
Třídy může být anonymní –, mohou být deklarovány bez identifikátor.To je užitečné při nahrazení názvu třídy s typedef název jako v následující:
typedef struct
{
unsigned x;
unsigned y;
} POINT;
[!POZNÁMKA]
Použití anonymní třídy v předchozím příkladu je užitečné pro zachování kompatibility s existující kód C.V některých c kód použití typedef ve spojení s anonymní struktury je převládající.
Anonymní třídy jsou také užitečné, když chcete odkaz na člen třídy jevit jako ji nebyly obsaženy v samostatné třídy, jako v následujícím:
struct PTValue
{
POINT ptLoc;
union
{
int iValue;
long lValue;
};
};
PTValue ptv;
V předcházejícím kódu iValue lze získat přístup pomocí operátoru výběr členů objektu (.) takto:
int i = ptv.iValue;
Anonymní třídy jsou předmětem určitých omezení.(Další informace o anonymní odborů, viz sdružení.) Anonymní třídy:
Nemůže mít konstruktor nebo destruktoru.
Nelze předat jako argumenty funkce (Pokud je kontrola typu defeated pomocí elipsy).
Nelze vrátit jako vrácené hodnoty funkce.