Sdílet prostřednictvím


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.

Viz také

Referenční dokumentace

Definování typů třídy