读书人

C++类的静态成员函数访问的有关问题

发布时间: 2012-02-10 21:27:41 作者: rapoo

C++类的静态成员函数访问的问题
我在书上看到:类的静态成员函数没有隐含的this指针,因此,它只能访问类中的静态成员变量,枚举和嵌套类型。

我的问题是:
静态成员函数除了能访问静态成员变量之外,还能访问枚举和嵌套类型吗?
什么是嵌套类型?
能否给个静态成员函数访问枚举和嵌套类型的例子?

谢谢

[解决办法]
class A
{
public:
enum E{a,b,c};
static void staticfun();
};

void A::staticfun()
{
cout<<b<<endl;
}
[解决办法]
在类或结构内部定义的类型称为嵌套类型。例如:

class Container
{
class Nested
{
Nested() { }
}
}


[解决办法]
enum并不是data member
在编译时就会被替换掉了,只是一个值而已
[解决办法]
静态函数就是没有this指针的函数。这是根本的区别。只要不依赖这个this指针的,都可以访问。

如enum,如三楼说的。

读书人网 >C++

热点推荐