C ++ - Aufzählung

In diesem Artikel lernen Sie, mit Aufzählung (enum) zu arbeiten. Außerdem erfahren Sie, wo Enums in der C ++ - Programmierung häufig verwendet werden.

Eine Aufzählung ist ein benutzerdefinierter Datentyp, der aus integralen Konstanten besteht. Um eine Aufzählung zu definieren, wird das Schlüsselwort enum verwendet.

 Aufzählungszeit (Frühling, Sommer, Herbst, Winter);

Hier heißt die Aufzählung Saison.

Und Frühling, Sommer und Winter sind Werte der Typensaison.

Standardmäßig ist Frühling 0, Sommer 1 und so weiter. Sie können den Standardwert eines Enum-Elements während der Deklaration ändern (falls erforderlich).

 Aufzählungszeit (Frühling = 0, Sommer = 4, Herbst = 8, Winter = 12);

Aufzählungstypdeklaration

Wenn Sie einen Aufzählungstyp erstellen, wird nur ein Entwurf für die Variable erstellt. So können Sie Variablen vom Aufzählungstyp erstellen.

enum boolean (falsch, wahr); // innerhalb der Funktion enum boolean check;

Hier wird eine Variablenprüfung vom Typ enum booleanerstellt.

Hier ist eine andere Möglichkeit, dieselbe Prüfvariable mit unterschiedlicher Syntax zu deklarieren.

 enum boolean (false, true) check; 

Beispiel 1: Aufzählungstyp

 #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; ) 

Ausgabe

 Tag 4

Beispiel 2: Ändern des Standardwerts von Aufzählungen

 #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; )

Ausgabe

 Sommer = 4

Warum werden in der C ++ - Programmierung Aufzählungen verwendet?

Eine Enum-Variable nimmt nur einen Wert aus vielen möglichen Werten. Beispiel, um es zu demonstrieren,

 #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; ) 

Ausgabe

 Größe der Aufzählungsvariablen 4 Bytes.

Dies liegt daran, dass die Größe einer Ganzzahl 4 Byte beträgt.;

Dies macht enum zu einer guten Wahl, um mit Flags zu arbeiten.

Sie können dieselbe Aufgabe mit C ++ - Strukturen ausführen. Die Arbeit mit Aufzählungen bietet Ihnen jedoch Effizienz und Flexibilität.

Wie verwende ich Aufzählungen für Flags?

Nehmen wir ein Beispiel,

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

Angenommen, Sie entwerfen eine Schaltfläche für die Windows-Anwendung. Sie können die Flags ITALICS, BOLD und UNDERLINE setzen, um mit Text zu arbeiten.

Es gibt einen Grund, warum alle Integralkonstanten im obigen Pseudocode die Potenz 2 sind.

 // In binär ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100 

Da die Integralkonstanten eine Potenz von 2 sind, können Sie zwei oder mehr Flags gleichzeitig kombinieren, ohne sich mit bitweisem ODER | zu überlappen Operator. Auf diese Weise können Sie zwei oder mehr Flags gleichzeitig auswählen. Beispielsweise,

 #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; ) 

Ausgabe

 5

Wenn die Ausgabe 5 ist, wissen Sie immer, dass Fettdruck und Unterstreichung verwendet werden.

Sie können Ihren Anforderungen auch ein Flag hinzufügen.

 if (myDesign & ITALICS) (// Code für Kursivschrift)

Hier haben wir unser Design kursiv dargestellt. Beachten Sie, dass in der if-Anweisung nur kursiver Code geschrieben ist.

In der C ++ - Programmierung können Sie fast alles erreichen, ohne Aufzählungen zu verwenden. In bestimmten Situationen können sie jedoch sehr praktisch sein. Das unterscheidet gute Programmierer von großartigen Programmierern.

Interessante Beiträge...