class Data { public:enum Permission{allowSelect = 1 << 0,allowUpdate = 1 << 1,allowInsert = 1 << 2,allowDelete = 1 << 3}; public:Data():flag(0){};~Data(){};/*添加某权限*/void enable(int permission){flag |= permission;}/*删除某权限*/void disable(int permission){flag ^= permission;}/*是否拥有某些权限*/bool isAllow(int permission){return (flag&permission) == permission;}/*是否没有某些权限*/bool isNotAllow(int permission){return (flag&permission) == 0;}/*是否公拥有某些权限*/bool isOnlyAllow(int permission){return flag == permission;}int getPermission() const{return flag;}void setPermission(int permission){flag = permission;}private:int flag; };int main() {Data d;//设置权限d.setPermission(Data::allowSelect|Data::allowUpdate);//是否拥有insert、delete权限d.isAllow(Data::allowInsert|Data::allowDelete);return 0; }