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 boolean
erstellt.
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.