class A
{
public:
A(int x = 10)
{
cout << "A构造函数运行" << endl;
}
virtual void fun()
{
}
virtual ~A()
{
cout << "~A运行" << endl;
}
};
class B :public A
{
public:
B(int x = 10)
{
cout << "B构造函数运行" << endl;
}
~B()
{
cout << "~B运行" << endl;
}
virtual void fun()
{
cout << "class B::fun()" << endl;
}
};
int main()
{
A* op = new B(10);
op->fun();
delete op;
op = nullptr;
return 0;
}
运行结果:
但是在派生类中的析构函数,我们没有定义为虚函数,为什么可以这样调用