C++中的静态成员函数不能访问非静态成员
2010-12-09 17:35
423 查看
C++类中有两种成员函数,一种是静态的,另一种是非静态的。两者的区别是,静态成员函数不接受隐含的this指针,所以无法直接访问非静态成员。
静态成员函数要是想访问非静态成员,有以下方法:
方法一:将数据成员也声明为静态的。
方法二:将此类的对象引用传入静态成员函数,用这个对象来访问非静态成员。此方法模仿了this指针的行为。或将非静态成员作为静态成员函数的形参传递进去。
其他方法方法:参考http://www.360doc.com/content/10/1202/12/1921354_74328687.shtml
静态成员函数要是想访问非静态成员,有以下方法:
方法一:将数据成员也声明为静态的。
方法二:将此类的对象引用传入静态成员函数,用这个对象来访问非静态成员。此方法模仿了this指针的行为。或将非静态成员作为静态成员函数的形参传递进去。
其他方法方法:参考http://www.360doc.com/content/10/1202/12/1921354_74328687.shtml
相关文章推荐
- 为什么C++静态成员函数不能访问非静态成员变量、不能调用非静态成员函数?(面试常考)
- C++: 静态成员函数不能访问非静态成员的道理
- C++: 静态成员函数不能访问非静态成员的道理
- C++之静态成员函数为什么不能为虚函数
- C++中静态成员函数访问成员变量问题
- C++静态成员函数访问非静态成员的几种方法
- C++静态成员函数访问非静态成员的几种方法
- C++中静态成员函数访问成员变量问题
- C++静态成员函数不能调用非静态成员变量
- C++里的静态成员函数为何不能用const?
- C++静态成员函数访问非静态成员的几种方法
- C++中静态成员函数访问非静态成员变量
- C++里的静态成员函数(不能用const的原因+static在c++中的第五种含义)
- C++静态成员函数不能调用非静态成员变量
- C++里的静态(static)成员函数(不能用const的原因+static在c++中的第五种含义)
- 外围函数不能访问局部类的公有静态成员、类型名、枚举 值(类型名是一个typedef名字,枚举类型名、或一个类名)
- C++中静态成员函数访问非静态成员变量
- C++静态成员函数不能调用非静态成员变量(详解)
- C++中静态成员函数访问非静态成员变量
- [C++基础]C++中静态成员函数如何访问非静态成员