我正在用C ++开展一个项目,发现自己需要一种方法来确定物质的相位(固体,液体或气体)。这里只有三种可能性;我发现自己处于类似的情况中,虽然看起来很明显只使用整数(0,1,2或1,2,3),但我发现在实践中这与布尔人相比还不清楚。我想到的另一种可能性是制作三种方法,isLiquid,isGas和isSolid,每种方法返回一个布尔值,但这似乎效率低下。我只是想知道是否有人知道这两种可能性中哪一种更好,或者是否有其他想法我不知道。
答案 0 :(得分:3)
使用enum
可能会简化您的代码并使其更具可读性。我将为您提供此示例。
class Thing {
enum MatterState {
SOLID,
LIQUID,
GAS
};
MatterState state;
// ... other variables
public:
// ... constructors, etc
MatterState get_state() {
return this->state;
}
};
您指定了方法,因此我为您提供了class
。