#include<iostream>
using namespace std;
class A {
public:
virtual void x() = 0;
};
class B :public A {
public:
virtual void x(int a) { }
};
int main()
{
A *a = new B;
delete a;
return 0;
} B类没有成功重写A类x函数,有编译错误
A类含有纯虚函数,不能使用new 关键字,所以A *a = new B,有编译错误
A类没有虚析构函数,会导致new B申请的空间得不到释放,可能会有内存泄漏
运行正常,无错误