Aufzählungstyp enum

Willemers Informatik-Ecke

Diese Seite basiert auf Inhalten aus meinem Buch "Einstieg in C++", seinerzeit erschienen im Verlag Galileo Computing. Das Buch ist inzwischen vergriffen.


Das Nachfolgebuch heißt C++. Der Einstieg und ist bei Wrox im Verlag Wiley-VCH erschienen.

Die Inhalte dieser Website unterliegen meinem Urheberrecht und dürfen trotz inhaltlicher Überschneidungen mit dem Buch dank der freundlichen Genehmigung des Verlags Wiley-VCH hier erscheinen.

Mit enum können Aufzählungstypen definiert werden. Dazu gehören Wochentage oder Farben. Den Elementen eines Aufzählungstyps werden Namen zugeordnet, obwohl sie intern natürlich als Zahlen codiert werden.

Definition

Auf das Schlüsselwort enum folgt der Name des Aufzählungstyps. Zwischen den folgenden geschweiften Klammern werden die Namen aufgezählt, die zu diesem Typ gehören. Die Namen sind durch Kommata getrennt.

Im Buch steht an dieser Stelle der Syntaxgraph für enum (grafenum)

Im folgenden Beispiel wird ein Aufzählungstyp für Farben definiert:

enum Farbe {ROT, GELB, GRUEN, BLAU};

Im weiteren Verlauf des Programms können Variablen vom Typ Farbe definiert werden. Diesen Variablen können Elemente des Aufzählungstyps zugewiesen werden.

Farbe Ampel;
...
Ampel = ROT;

Intern werden die Aufzählungswerte mit Zahlen durchnummeriert. ROT ist also 0, GELB ist 1 und so fort. Darum können die Aufzählungskonstanten auch ganzzahligen Variablen zugewiesen werden. Umgekehrt wird es auf jeden Fall zu einer Warnung kommen.

Farbe Ampel;
int i;
   ...
   i = ROT;   // kein Problem
   Ampel = 3; // gibt eine Warnung
Diese Vorbelegungen können bei der Definition der Enumeration auch anders festgelegt werden. Beispiel:

enum Farbe {ROT=2, GELB, GRUEN=7, BLAU};

Das würde dazu führen, dass ROT 2, GELB 3, GRUEN 7 und BLAU 8 ist.


Informatik-Ecke Einstieg in C++ (C) Copyright 2005 Arnold Willemer