废话不说,先看代码!
#include <iostream>
using namespace std;
class A
{
public:
A():a(1)
{ }
void foo()
{
cout<<"A function"<<endl;
}
public:
int a;
};
int main(int argc, char *argv[])
{
A *pa;
pa->foo(); //注意这里
cout<<pa->a<<endl;
return 0;
}
在我的电脑上运行的结果:
A function
9579900
|
很明显,一个空指针对类的成员函数操作,得到了正确的结果,但是对成员进行操作却失败了,这说明了一个问题,类的成员函数与静态成员函数一样,只跟类对应,而与具体的对象没有关系
阅读(590) | 评论(0) | 转发(0) |