<分区>
假设我们有一个类
class A
{
int x;
public:
void sayHi()
{
cout<<"Hi";
}
};
int main()
{
A *a=NULL;
a->sayHi();
}
以上代码将在 Turbo C(我测试过的)上编译并打印 Hi
作为输出。
我原以为会崩溃,因为 a
是 NULL
。此外,如果我将 sayHi()
函数设为虚拟函数,它会显示
Abnormal temination(Segmentation fault in gcc)
我知道其中很多都依赖于实现,但如果有人能对任何实现有所了解或只是给出一个概述,那就太好了。