Langage C++/Enumérations
Une page de Wikiversité.
| Chapitre 11 | |||
| Leçon : Langage C++ | |||
|---|---|---|---|
| Chap. préc. : | Portée du code | ||
| Chap. suiv. : | Structures, unions et champs de bits | ||
En raison de limitations techniques, la typographie souhaitable du titre, « Langage C++ : Enumérations
Langage C++/Enumérations », n'a pu être restituée correctement ci-dessus.
[modifier] Énumérations
En C++ les énumérations servent à créer des liste de constantes entières. Cela permet de regrouper des constantes d'un même contexte dans un même type. Pour des raisons de clarté il est préférable de définir chaque énumérations dans un fichier d'entête propre. Pour des raisons de conception objet il est nécessaire de typer l'énumération à l'aide du mot clé "typedef". Enfin pour des raisons d'interférences il est conseillé de cloisonner l'énumération à un namespace.
|
Définition |
namespace <NomNamespaceEnum> { typedef enum { <NomConstante0> [[= <ValeurConstante0>] [, [...] <NomConstanteN-1> [= <ValeurConstanteN-1>]] }<NomTypeEnum>; } |
Où <NomNamespaceEnum> est le nom du namespace qui encapsulera la portée des constantes énumérées, <NomConstante0> et <NomConstanteN-1> sont les identifiants des constantes, <ValeurConstante0> et <ValeurConstanteN-1> sont les valeurs respectivement de <NomConstante0> et <NomConstanteN-1> et <NomTypeEnum> est le type de l'énumération.
Il est à noter que les valeurs des constantes sont facultative. Sans aucune précision la valeur d'une constante est la valeur de la constante précédente augmenté de 1, la première valeur étant par défaut "0". Il faut aussi savoir qu'il ne peut y avoir qu'un identifiant pour une valeur donnée.
|
Exemple |
namespace NECouleursCartes { typedef enum { Pique, Coeur, Trefle, Carreau }ECouleursCartes; } |
|
Exemple |
int main(int argc, char* argv[]) { NECouleursCartes::ECouleursCartes vMaCouleurCarte; vMaCouleurCarte = NECouleursCartes::Coeur; return 0; } |