让我们从C++中的一个简单类开始:
class aClass {
bool b;
aClass(bool x){b=x;}
};
Run Code Online (Sandbox Code Playgroud)
是否可以输入2个新类型stateTrue和stateFalse,以便我这样做:
stateTrue variable;
Run Code Online (Sandbox Code Playgroud)
它会转化为:
aClass variable(true);
Run Code Online (Sandbox Code Playgroud)
?
继承另一种可能是使aClass一个template:
template <bool T>
class aClass
{
public:
bool b;
aClass(): b(T) {}
};
typedef aClass<true> stateTrue;
typedef aClass<false> stateFalse;
Run Code Online (Sandbox Code Playgroud)