4.2.3 Les types énumérés

En C++, comme en C, on peut créer des types qui ont un nombre de valeurs finies. C'est un peu une sorte de booléen avec autant d'états que l'on veut (et non pas que deux).

Voici un petit exemple d'enum :

1
2
3
4
5
enum Couleur{
	ROUGE,
	VERT,
	BLEU
};

Le nom de l'enum commence par une majuscule, ça, c'est juste ma convention que j'utilise pour m'y retrouver. De même, j'ai écrit les valeurs des types en majuscule, vous n'êtes absolument pas obliger de faire pareil, c'est juste que, comme ça, dès que je vois une variable en majuscule, je sais que c'est la valeur d'un enum. Le point important est de toujours faire les déclarations de la même façon.

Il ne faut pas oublier le point-virgule à la fin de la définition, sinon le compilateur va râler.

Les choses à ne pas faire :

Encore !?

Et oui, il faut les connaître, ça évite les mauvaises surprises :

  • Bien séparer ces valeurs avec des virgules et ne pas mettre de virgule à la fin
  • Ne pas mettre d'underscores (_) dans les noms des valeurs que peut prendre l'enum
  • Ne pas oublier le point-virgule à la fin de la déclaration

En fait les valeurs de l'enum sont des entiers dont le premier vaut 0.

Il est possible de redéfinir les entiers des valeurs des enums comme ceci :

1
2
3
4
5
enum Couleur{
	ROUGE = 1,
	VERT = 2,
	BLEU = 3
};

Bien sur, je vous parle ici de la valeur par défaut. Vous pouvez très bien déclarez des valeurs binaires à la place des entiers que j'ai mis.