我从问题中学到了一些东西,但我认为我应该给出一个更详细、更容易搜索的答案,那就是,如果你有一个像这样继承的抽象基类,并且你已经通过在它的末尾添加"= 0“来使它的析构函数成为虚拟的:
class Base {
public:
virtual ~Base() = 0;
};
然后尝试用它派生一个类,如下所示:
class Derived : public Base {
public:
~Derived();
};
Derived::~Derived() {
// nothing, this is an example
}
你会得到链接器错误,抱怨缺少基析构函数的