今天在论坛上看到一个帖子,说的是静态成员函数访问权限,我本就自己的一点认知发表一点拙见,还望大家不吝赐教~~呵呵
静态成员函数可以直接访问该类的静态数据和函数成员。而访问非静态数据成员必须通过参数传递方式得到对象名,然后通过对象名来访问。
如下例:
- class A
- {
- public:
- static void f(A a); //声明静态成员函数
- private:
- int x;
- };
- void A::f(A a) //静态函数成员不属于任何一个对象,因此
- //只能通过类名对其进行访问,一般用法
- //“类名:: 标识符”
- {
- cout<<x; //对x的直接引用是错误的
- cout<<a.x; //通过对象名来访问,正确
- }