读书人

类里面的枚举是static 的吗?解决办法

发布时间: 2012-03-09 21:42:54 作者: rapoo

类里面的枚举是static 的吗?
class asdf
{
public:
static enum en
{
a, b, c
};
};
int main()
{
asdf a;
int b= a.b;//可以
int c = a::b;// 可以
}
也可以把枚举声明成static 的
那么枚举究竟是默认static 吗,全局的枚举是不是呢?

[解决办法]
int c = a::b;// 不可以
应是int c = asdf::b
类中的枚举是静态的
[解决办法]
对于静态可以用类名,当然也是类成员
全局的枚举加上static就成了只能在该cpp引用了
[解决办法]
多看点好书,你自然就知道C++和C的几乎每一点区别。

读书人网 >C++

热点推荐