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 16Remarquez 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);