让我们从 C++ 中的一个简单类开始:

class aClass {
        bool b;
        aClass(bool x){b=x;}
};

是否可以 typedef 2个新类型 stateTrue 和 stateFalse 以便如果我这样做:
stateTrue variable;

它会转化为:
aClass  variable(true);

?

最佳答案

继承的替代方法是使 aClass 成为 template :

template <bool T>
class aClass
{
public:
    bool b;
    aClass(): b(T) {}
};

typedef aClass<true>  stateTrue;
typedef aClass<false> stateFalse;

关于c++ - Typedef 具有特定构造函数参数的类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9719086/

10-10 20:57