头文件已经正常包含,以下代码在VS IDE上编译和运行结果是 
 class A{
    public:
	void test(){printf("test A");}
};
int main()
{
    A *pA = NULL;
    pA->test();
    return 0;
} #include<iostream>
using namespace std;
class A{
public:
	void test()
	{ printf("test A"); }
};
int main(){
	A* pA = NULL;
	pA->test();
	return 0;
}
  
    其实这个是可以正常运行的
  
pA->test();这语句的意图是:调用对象 pA 的 test 成员函数。如果这句话在Java或Python等动态绑定的语言之中,编译器生成的代码大概是:
Class A
{
public:
     A(int a){this->a = a;}
     void GetA1(){cout << "void GetA1()" << endl;}
     void GetA2(){cout << this->a << endl;}
public:
    int a;
}
A* p = NULL;
p->GetA1();//ok
p->GetA2();//err  1 如果成员函数中没有用到this指针,可以用空指针调用该成员函数
2 如果成员函数中用到了this,那么需要对这个this加判断语句,防止空指针解引用