Udostępnij za pośrednictwem


Typy klas anonimowe

Klasy mogą być anonimowy — to znaczy, że może być deklarowana bez identyfikatora.Jest to przydatne, gdy zastąpić nazwę klasy z typedef nazwę, jak w następującym:

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

[!UWAGA]

Wykorzystanie klasy anonimowe w poprzednim przykładzie jest przydatne przy zachowaniu zgodności z istniejącego kodu C.W niektórych kod c wykorzystanie typedef w połączeniu z struktur anonimowe jest powszechnie znane.

Anonimowe klas są przydatne także w przypadku, gdy ma odwołanie do członka klasy wrażenie, jakby nie zostały zawarte w osobnej klasy, jak w:

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

PTValue ptv;

W poprzednim kodzie iValue można uzyskać dostęp za pomocą operatora Wybór elementu członkowskiego obiektu (.) w następujący sposób:

int i = ptv.iValue;

Klasy anonimowe są z zastrzeżeniem niektórych ograniczeń.(Aby uzyskać więcej informacji na temat związków anonimowe, zobacz unie.) Anonimowe klas:

  • Nie może mieć konstruktora lub destruktor.

  • Nie mogą być przekazywane jako argumenty do funkcji (chyba że pokonane za pomocą elipsy jest sprawdzanie typu).

  • Nie można zwrócić w zwracanej wartości z funkcji.

Zobacz też

Informacje

Definiowanie typów klasy