La définition suivante introduit un nom de type et un ensemble de noms de constantes, lesquelles constituent les valeurs de ce type :
enum direction {Est, Nord, Ouest, Sud};
Ces constantes d'énumération sont particulièrement utiles dans une instruction d'aiguillage. La fonction suivante permet de modifier la valeur des arguments x et y, passés par référence (représentant la position d'un point dans le plan) selon la valeur du premier argument, de type direction :
void deplacement(direction d, int& x, int& y) {
switch(d) {
case Est:
x = x+1;
break;
case Nord:
y = y+1;
break;
case Ouest:
x = x-1;
break;
case Sud:
y = y-1;
break;
}
}
Il est obligatoire que chaque valeur du type d'énumération soit traitée (au moins par un default).