Tipi anonimi della classe
Le classi possono essere anonime, ovvero possono essere dichiarate senza identificatore.Ciò si rivela utile quando si sostituiscono il nome della classe con un oggetto typedef nome, come nell'esempio seguente:
typedef struct
{
unsigned x;
unsigned y;
} POINT;
[!NOTA]
L'utilizzo delle classi anonime visualizzate nell'esempio precedente è utile per preservare la compatibilità con il codice esistente di C#.Nel codice c#, l'utilizzo di typedef insieme alle strutture anonime è diffuso.
Le classi anonime sono anche utili quando si desidera un riferimento A un membro di classe vengono visualizzati come se non fosse contenuto in una classe separata, come nell'esempio seguente:
struct PTValue
{
POINT ptLoc;
union
{
int iValue;
long lValue;
};
};
PTValue ptv;
Nel codice precedente, iValue è possibile accedere utilizzando l'operatore di selezione dei membri dell'oggetto**.**) come segue:
int i = ptv.iValue;
Le classi anonime è soggetto a determinate restrizioni.(Per ulteriori informazioni sulle unioni anonime, vedere Unioni). classi anonime:
non può avere un costruttore o un distruttore.
Non può essere passato come argomenti alle funzioni (a meno che il controllo di tipo è annullato mediante con i puntini di sospensione).
Non può essere restituito come valori restituiti da funzioni.