C++:Enumeration Scoped / Strongly typed enumeration enum class TypeName : unsigned short { ENUM_NUM0 = 0, ENUM_NUM1, }; Favorite site Better types in C++11 - nullptr, enum classes (strongly typed enumerations) and cstdint C++11 Scoped/Strongly typed enumeration