Aufzählungen (2/2)
Die Elemente des Aufzählungstyps sind dabei die einzigen Werte, die
diesem zugewiesen werden dürfen. Ferner ist zu beachten, daß
Werte des neuen Typs über implizite Typumwandlung an Integer-Variablen
zugewiesen werden können, die umgekehrte Zuweisung jedoch einer expliziten
Typumwandlung bedarf. Der Grund ist der, daß die meisten Integer-Werte
in der jeweiligen Aufzählung gar nicht repräsentiert sind und
es so zu nicht vorhersehbaren Zuweisungen kommen würde.
void main()
{
Tage heute = Mittwoch;
int k = Samstag;
heute = k;
// FEHLER
heute = Tage(k); // Okay, da explizite
Typumwandlung
k = heute;
// Okay
heute = 8;
// FEHLER
}
Die Vorteile des Einsatzes von Aufzählungen liegen auf der Hand:
-
Zum einen unterstützt die Deklaration eines Aufzählungstyps die
Überprüfung, ob dem Typ auch tatsächlich nur die Werte zugewiesen
werden, die auch zulässig sind, und zum anderen
-
sind die Definitionsbezeichner eine Hilfestellung in der Dokumentation
(dies natürlich nur, wenn man den Bezeichnern auch wirklich sinnvolle
Namen gibt).