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).