c++ 多状态设置
[cpp]// 王智泉
enum {
ST_1 = 0x01 << 1; // 状态1
ST_2 = 0x01 << 2; // 状态2
ST_3 = 0x01 << 3; // 状态3
ST_4 = 0x01 << 4; // 状态4
ST_5 = 0x01 << 5; // 状态5
};
class StateTest
{
public:
StateTest():_state(0){}
~StateTest(){}
// 设置指定状态
// @param tag 状态
// @param enable 是否打开
void setState(int tag, bool enable)
{
if (enable)
_state |= tag;
else
_state &= ~tag;
}
// 指定的状态是否打开
bool isStateEnable(int tag) const
{
return (_state & tag) != 0;
}
private:
long long _state;
};
作者:wzq9706
补充:软件开发 , C++ ,