====== enums ====== Um einfache Enums kurz zu halten, können Werte des Basistyps einfach zugewiesen werden. Digit enums int { One = 1; Two = 2; Three = 3; Four = 4; Five = 5; Six = 6; }; Enumklassen sind normale Klassen, die öffentliche konstante, statische Member haben: Color enums thistype { private: RedValue, GreenValue, BlueValue is byte; construct( RedValue, GreenValue, BlueValue ); Red = thistype( 255, 0, 0 ); Green = thistype( 0, 255, 0 ); Blue = thistype( 0, 0, 255 ); } Eine Funktion void set( Color color ); weiß nun ja, dass sie eine Color bekommt und kann nun auf zwei Arten gerufen werden: set( Color::Red ); set( Red ); Der zweite Aufruf ohne den Typen erlaubt problemloses Umbenennen von Color. Eine Überladung von set mit AlertLevel, bei der es ein AlertLevel::Red gäbe, erzwingt eine Fehlermeldung, bzw. man muss entweder set( Color::Red ), bzw. set( AlertLevel::Red ) rufen.