静态类成员函数无法访问普通的成员变量
2015-05-17 21:52
197 查看
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指针,而非静态成员必须随类对象的产生而产生,所以静态成员函数”看不见”非静态成员,自然也就不能访问了
但是如果静态成员函数通过引用一个对象,是可以直接访问成员的,也体现了它成员函数的特权。
相关文章推荐
- 类反射学习(三) JAVA如何利用类反射调用普通函数、访问成员成员变量
- VC6.0中重载操作符函数无法访问类的私有成员[转]
- 普通成员函数、普通类成员函数和静态类成员函数
- C++在类的成员函数中,允许直接访问该类的成员对象的私有成员变量
- MATLAB OOP记点东西2-成员函数访问成员变量(使用静态成员函数)
- 在同一个类中的普通成员函数中调用static 成员变量,linker出错,无法解析的外部命令?
- Spring boot(15) spring boot admin server作为普通工程的时候,无法访问static文件夹下的静态资源
- C++中static成员函数访问非static成员变量
- C++中静态成员函数访问成员变量问题
- 静态成员函数访问构造函数
- cocos2d-x XX_selector函数体中无法访问类的成员变量问题
- 函数调用约定(注意c++普通函数成员调用时有this参数)
- C++在类的成员函数中,允许直接访问该类的成员对象的私有成员变量
- C++使用static的错误:无法解析的外部符号、“static”不应在文件范围内定义的成员函数上使用
- VC6.0中友元函数无法访问类私有成员的解决办法
- C++ 类的继承,子类以及之类的对象 对父类成员函数的访问权限
- 附加:通过函数访问私有成员
- C++中的Thunk技术 / 非静态类成员函数作为回调函数 的实现方法
- 20140424 父类指针指向子类 子类指针指向父类 父类指针不能访问子类成员(虚函数例外)
- 普通函数和类成员函数const重载