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.