Traductions de cette page?:

enum

Syntaxe :

    enum nom {liste-des-noms} liste-des-variables;

Le mot-clef enum est utilisé pour créer un type énuméré nommé nom composé des éléments liste-des-noms. La liste-des-variables est facultative, et peut être utilisée pour créer des instances du type au moment de sa déclaration.

Par exemple, le code ci-dessous créée un type énuméré pour plusieurs couleurs :

     enum ColorT {rouge, orange, jaune, vert, bleu, indigo, violet};
     ...
     ColorT c1 = indigo;
     if (c1 == indigo) {
       cout << "c1 est indigo" << endl;
     }

Dans cet exemple, l'effet de l'énumération est d'introduire plusieurs nouvelles constantes appelées rouge, orange, jaune, etc. Par défaut, ces constantes prennent les valeurs entières à partir de zéro. Vous pouvez modifier les valeurs de ces constantes, comme dans l'exemple ci-dessous :

     enum ColorT {rouge = 10, blue = 15, vert};
     ...
     ColorT c = vert;
     cout << "c est " << c << endl;

Lors de l’exécution, ce code produira l'affichage suivant :

     c est 16

Remarquez que les exemples précédents ne fonctionneront qu'avec un compilateur réglé en C++. Avec un compilateur C standard, vous devrez spécifier le mot-clef enum à chaque création d'instance du type :

     enum ColorT {rouge = 10, blue = 15, vert};
     ...
     enum ColorT c = vert;   /* remarquez la présence du mot-clef enum */
     printf("c est %d\n", c);

Pour pouvoir utiliser les énumération de la même manière qu'en C++, il suffit de rajouter le mot-clef typedef :

     typedef enum ColorT {rouge = 10, blue = 15, vert} ColorT;
     ...
     ColorT c = vert;   /* plus besoin du mot-clef enum */
     printf("c est %d\n", c);