场景:
class A
{
int i;
A() { memset(this, 0, sizof(A))}; // 初始化
virtual ~A() {}
}
main()
{
A* a = new A;
delete a; //程序会死机。
}
总结:
为什么会死机?
A() { memset(this, 0, sizof(A))}; // 初始化
会把虚指针置空, 无法正确 的调用析构函数。重而会生成core.
虚指针、 虚表:
https://blog.csdn.net/qq_34484472/article/details/78232465
Java没有虚函数。 所有的函数都是默认动态绑定的。
https://www.runoob.com/java/java-polymorphism.html