我有一个逻辑和类,构造函数应该评估2个布尔的AND运算,它的工作原理是这样的:的typedef,枚举,布尔,布尔------迷茫
class logicAND{
public:
logicAND(bool a,bool b):value(a&&b){}
bool output(){return value;}
private:
bool value;
};
int main(){
bool m=false;
bool n=true;
logicAND t1(m,n);
t1.output();
}
然后,我在课前添加了一些旧式的宏:
typedef enum { False = 0, True = 1 } Bool;
#define bool Bool
#define true True
#define false False
class logicAND{
public:
logicAND(bool a,bool b):value(a&&b){}
bool output(){return value;}
private:
bool value;
};
int main(){
bool m=false;
bool n=true;
logicAND t1(m,n);
t1.output();
}
现在我不能再让它工作了。看起来主要问题在于构造函数类型不匹配。
非常感谢您指出缺陷,原因和解决方案。 谢谢!
...我应该问: 替换的构造?什么是真正的目标? – cHao 2012-04-07 16:26:36
在上面提供的第二个片段的核心处存在可怕的混淆。 – Robinson 2012-04-07 16:33:29
试图定义一个班级来完成施工中的一个逻辑操作的核心有点混乱。 'bool t1 =(m && n);'似乎不够复杂,需要更多的代码才能将它抽象出来。关于我看到的唯一的一点是插入操作的能力......但即使如此,该操作在施工中完成,代码仍然需要决定操作,并且可以执行其他每个操作的情况.... – cHao 2012-04-07 16:37:18