问个C++简单的有关问题,程序的输出是什么

问个C++简单的问题,程序的输出是什么?
以下程序的输出是什么?麻烦解释下。
C/C++ code

#include <iostream>
using namespace std;

class A
{
public:
    void f() {cout << "A::f()" << endl;}
};


int main()
{
    A *pa = new A;
    pa->f();
    pa = NULL;
    pa->f(); //还可以调用??

    return 0;
}




------解决方案--------------------
这里你的f()成员函数正好没用使用到类的成员数据,所以可以,使用到成员数据就会报错。
------解决方案--------------------
因为没有使用数据成员 NULL 的值是 0 即相当于 pa = (A)0
所以没什么问题
------解决方案--------------------
探讨

这里你的f()成员函数正好没用使用到类的成员数据,所以可以,使用到成员数据就会报错。

------解决方案--------------------
探讨

各位大牛,你们所说的我自己都已经试验过了哦,现象我是知道的。
麻烦谁说下深层的原因???

------解决方案--------------------
我是这样理解的~一个对象在内存里面的形式只包含这个类的数据成员~而函数成员却是编译器后接上去的~用一种我们不知道的规则调用~~
其实可以把一个类理解为C里面的一个源文件,
NULL->f();这样f没有数据成员的话就可以