我将基类析构函数定义为“虚拟”的。 例如:
class Base
{
public:
virtual ~Base()
{
cout << "Calling ~Base()" << endl;
}
};
同样也适用于派生类,例如: 例如:
class Derived: public Base
{
public:
virtual ~Derived()
{
cout << "Calling ~Derived()" << endl;
}
};
我的问题是,在删除指向派生类对象的基类指针时,两个析构函数都被调用了。请问为什么会这样?谢谢。