C++ Aufzählung (enum)
C++ Aufzählungen
Eine Enum ist ein spezieller Typ, der eine Gruppe von Konstanten (unveränderlichen Werten) darstellt.
Um eine Aufzählung zu erstellen, verwenden Sie das Schlüsselwort enum
, gefolgt vom Namen der Aufzählung, und trennen Sie die Aufzählungselemente durch ein Komma:
enum Level {
LOW,
MEDIUM,
HIGH
};
Beachten Sie, dass für das letzte Element kein Komma erforderlich ist.
Die Verwendung von Großbuchstaben ist nicht erforderlich, wird jedoch häufig als bewährte Vorgehensweise angesehen.
Enum ist die Abkürzung für „enumerations“, was „spezifisch aufgelistet“ bedeutet.
Um auf die Enumeration zuzugreifen, müssen Sie eine Variable davon erstellen.
Geben Sie in der Methode main()
das Schlüsselwort enum
an, gefolgt vom Namen der Enumeration (Level
) und dann der Name der Enum-Variable (myVar
in diesem Beispiel):
enum Level myVar;
Nachdem Sie nun eine Enum-Variable (myVar
) erstellt haben, können Sie ihr einen Wert zuweisen.
Der zugewiesene Wert muss eines der Elemente innerhalb der Aufzählung sein (LOW
, MEDIUM
oder HIGH
):
enum Level myVar = MEDIUM;
Standardmäßig hat das erste Element (LOW
) den Wert 0
, das zweite (MEDIUM
) hat den Wert 1
usw.
Wenn Sie jetzt versuchen, myVar zu drucken, wird 1
ausgegeben, was darstellt MEDIUM
:
int main() {
// Erstellen Sie eine Enum-Variable und weisen Sie ihr einen Wert zu
enum Level myVar = MEDIUM;
// Drucken Sie die Enum-Variable
cout << myVar;
return 0;
}
Try it Yourself »
Werte ändern
Wie Sie wissen, hat das erste Element einer Aufzählung den Wert 0. Das zweite hat den Wert 1 und so weiter.
Um die Werte sinnvoller zu gestalten, können Sie sie einfach ändern:
enum Level {
LOW = 25,
MEDIUM = 50,
HIGH = 75
};
int main() {
enum Level myVar = MEDIUM;
cout << myVar; // Gibt jetzt 50 aus
return 0;
}
Try it Yourself »
Beachten Sie, dass, wenn Sie einem bestimmten Element einen Wert zuweisen, die Nummern der nächsten Elemente entsprechend aktualisiert werden:
enum Level {
LOW = 5,
MEDIUM, // Now 6
HIGH // Jetzt 7
};
Try it Yourself »
Aufzählung in einer Switch-Anweisung
Enums werden häufig in Switch-Anweisungen verwendet, um nach entsprechenden Werten zu suchen:
enum Level {
LOW = 1,
MEDIUM,
HIGH
};
int main() {
enum Level myVar = MEDIUM;
switch (myVar) {
case 1:
printf("Low Level");
break;
case 2:
printf("Medium level");
break;
case 3:
printf("High level");
break;
}
return 0;
}
Try it Yourself »
Warum und wann sollten Aufzählungen verwendet werden?
Enums werden verwendet, um Konstanten Namen zu geben, was das Lesen und Verwalten des Codes erleichtert.
Verwenden Sie Aufzählungen, wenn Sie Werte haben, von denen Sie wissen, dass sie sich nicht ändern, z. B. Monatstage, Tage, Farben, Kartenstapel usw.