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

class A{int m_i;public:(){m_i=666; //这是非法的,这个等价于this->m_i=666,而静态方法没有this}static void f(A&a){a.m_i=666; //这样就可以}};

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

有一些穿高跟鞋走不到的路,

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

相关文章:

你感兴趣的文章:

标签云: