Énumération C ++

Dans cet article, vous apprendrez à utiliser l'énumération (enum). En outre, vous apprendrez où les énumérations sont couramment utilisées dans la programmation C ++.

Une énumération est un type de données défini par l'utilisateur qui se compose de constantes intégrales. Pour définir une énumération, le mot clé enum est utilisé.

 enum saison (printemps, été, automne, hiver);

Ici, le nom de l'énumération est saison.

Et, le printemps, l'été et l'hiver sont des valeurs de type saison.

Par défaut, le printemps est 0, l'été est 1 et ainsi de suite. Vous pouvez modifier la valeur par défaut d'un élément enum lors de la déclaration (si nécessaire).

 enum season (printemps = 0, été = 4, automne = 8, hiver = 12);

Déclaration de type énuméré

Lorsque vous créez un type énuméré, seul le plan directeur de la variable est créé. Voici comment créer des variables de type enum.

enum boolean (faux, vrai); // à l'intérieur de la fonction enum boolean check;

Ici, un contrôle de variable de type enum booleanest créé.

Voici une autre façon de déclarer la même variable de contrôle en utilisant une syntaxe différente.

 enum boolean (faux, vrai) contrôle; 

Exemple 1: Type d'énumération

 #include using namespace std; enum week ( Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday ); int main() ( week today; today = Wednesday; cout << "Day " << today+1; return 0; ) 

Production

 Jour 4

Exemple 2: Modification de la valeur par défaut des énumérations

 #include using namespace std; enum seasons ( spring = 34, summer = 4, autumn = 9, winter = 32); int main() ( seasons s; s = summer; cout << "Summer = " << s << endl; return 0; )

Production

 Été = 4

Pourquoi les énumérations sont-elles utilisées dans la programmation C ++?

Une variable enum ne prend qu'une seule valeur parmi les nombreuses valeurs possibles. Exemple pour le démontrer,

 #include using namespace std; enum suit ( club = 0, diamonds = 10, hearts = 20, spades = 3 ) card; int main() ( card = club; cout << "Size of enum variable " << sizeof(card) << " bytes."; return 0; ) 

Production

 Taille de la variable d'énumération 4 octets.

C'est parce que la taille d'un entier est de 4 octets .;

Cela fait enum un bon choix pour travailler avec des indicateurs.

Vous pouvez accomplir la même tâche en utilisant des structures C ++. Cependant, travailler avec des énumérations vous offre efficacité et flexibilité.

Comment utiliser les énumérations pour les drapeaux?

Prenons un exemple,

 enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button; 

Supposons que vous conceviez un bouton pour l'application Windows. Vous pouvez définir des indicateurs ITALICS, BOLD et UNDERLINE pour travailler avec du texte.

Il y a une raison pour laquelle toutes les constantes intégrales ont une puissance de 2 dans le pseudocode ci-dessus.

 // En binaire ITALIQUE = 00000001 BOLD = 00000010 UNDERLINE = 00000100 

Puisque les constantes intégrales ont une puissance de 2, vous pouvez combiner deux ou plusieurs indicateurs à la fois sans se chevaucher en utilisant OR | opérateur. Cela vous permet de choisir deux ou plusieurs indicateurs à la fois. Par exemple,

 #include using namespace std; enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 cout << myDesign; return 0; ) 

Production

 5

Lorsque la sortie est 5, vous savez toujours que le gras et le soulignement sont utilisés.

En outre, vous pouvez ajouter un drapeau à vos besoins.

 if (myDesign & ITALICS) (// code pour l'italique)

Ici, nous avons ajouté des italiques à notre conception. Notez que seul le code pour l'italique est écrit dans l'instruction if.

Vous pouvez accomplir presque tout dans la programmation C ++ sans utiliser d'énumérations. Cependant, ils peuvent être très utiles dans certaines situations. C'est ce qui différencie les bons programmeurs des grands programmeurs.

Articles intéressants...