diff options
Diffstat (limited to 'lang/cpptour/enumcls.cc')
-rw-r--r-- | lang/cpptour/enumcls.cc | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lang/cpptour/enumcls.cc b/lang/cpptour/enumcls.cc new file mode 100644 index 0000000..2340f65 --- /dev/null +++ b/lang/cpptour/enumcls.cc @@ -0,0 +1,28 @@ +#include <iostream> + +using namespace std; + +enum class Color { red, blue, green }; +enum class TraficLight { green, yellow, red }; + +TraficLight& operator++ (TraficLight& t) +{ + switch (t) + { + case TraficLight::green: + return t = TraficLight::yellow; + case TraficLight::yellow: + return t = TraficLight::red; + case TraficLight::red: + return t = TraficLight::green; + } +} + +int +main () +{ + Color col = Color::red; + TraficLight light = TraficLight::red; + TraficLight nxt = ++light; + // ugh now we test if it compiles? just wanna build some muscle memory +} |