我有一個邏輯和類,構造函數應該評估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