当前位置:编程学习 > C/C++ >>

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++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,