Partager via


Types anonymes de classe

Les classes peuvent être anonymes - c. autrement dit., elles peuvent être déclarées sans identificateur.Cela est utile lorsque vous remplacez un nom de classe par un nom d' typedef , comme dans l'exemple suivant :

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

[!REMARQUE]

L'utilisation des classes anonymes indiqué dans l'exemple précédent est utile pour conserver la compatibilité avec un existant le code C.Dans du code C, l'utilisation d' typedef conjointement aux structures anonymes est généralisée.

Les classes anonymes sont également utiles lorsque vous souhaitez une référence à un membre de classe pour apparaître comme si elle n'ont pas été contenues 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 member-selection d'objet (.) comme suit :

int i = ptv.iValue;

Les classes anonymes sont soumises à certaines restrictions.(Pour plus d'informations sur les unions anonymes, consultez l' Union.) classes anonymes :

  • Ne peut pas avoir de constructeur ou un destructeur.

  • Ne peut pas être passé en tant qu'arguments aux fonctions (à moins que la vérification de type est invalidée utilisant des points de suspension).

  • Ne peut pas être retourné comme valeurs de retour de fonctions.

Voir aussi

Référence

Définir des types de classe