Types de classe anonymes
Les classes peuvent être anonymes (autrement dit, elles peuvent être déclarées sans identifier). Cela est utile lorsque vous remplacez un nom de classe par un nom de typedef, comme dans l'exemple suivant :
typedef struct
{
unsigned x;
unsigned y;
} POINT;
Notes
L'utilisation de classes anonymes indiquée dans l'exemple précédent est utile pour conserver la compatibilité avec un code C existant.Dans du code C, l'utilisation de typedef conjointement aux structures anonymes est généralisée.
Les classes anonymes sont également utiles lorsque vous souhaitez qu'une référence à un membre de classe apparaisse comme si elle n'était pas été contenue dans une classe distincte, comme dans l'exemple suivant :
struct PTValue
{
POINT ptLoc;
union
{
int iValue;
long lValue;
};
};
PTValue ptv;
Dans le code précédent, iValue est accessible via l'opérateur de sélection de membres d'objet (.) comme suit :
int i = ptv.iValue;
Les classes anonymes sont soumises à certaines restrictions. (Pour plus d'informations sur les unions anonymes, consultez Unions.) Classes anonymes :
Ne peut pas avoir de constructeur ou de destructeur.
Ne peut pas être passé en tant qu'argument aux fonctions (à moins que la vérification de type soit invalidée en utilisant des points de suspension).
Ne peut pas être retourné comme valeurs de retour à partir des fonctions.