我需要创建许多介于整数和枚举之间的类。 即有整数的算术,但也没有隐式转换为int。
答案 0 :(得分:4)
看看this question的答案 - BOOST_STRONG_TYPEDEF完全符合我的要求。
// macro used to implement a strong typedef. strong typedef
// guarentees that two types are distinguised even though the
// share the same underlying implementation. typedef does not create
// a new type. BOOST_STRONG_TYPEDEF(T, D) creates a new type named D
// that operates as a type T.
答案 1 :(得分:1)
一种可能性是使用:: GetValue()方法创建一个定义为类的不变成员的“枚举”的类,以及使用重载来使用GetValue()进行数学运算所需的数学运算