静态类成员函数无法访问普通的成员变量

来源:互联网 发布:java开发一个界面 编辑:程序博客网 时间:2024/04/20 07:39
class A{    int m_i;public:    static void f()    {        m_i=666;   //这是非法的,这个等价于this->m_i=666,而静态方法没有this    }    static void f(A&a)    {        a.m_i=666;   //这样就可以    }};

静态成员函数不属于任何一个类对象,没有this指针,而非静态成员必须随类对象的产生而产生,所以静态成员函数”看不见”非静态成员,自然也就不能访问了
但是如果静态成员函数通过引用一个对象,是可以直接访问成员的,也体现了它成员函数的特权。

1 0
原创粉丝点击