我搜索了很多网站,并且关于我的问题还有关于stackoverflow的问题,但没有一个完美地回答它们,所以我决定将它构建为一个新问题。 根据我的说法,当我们需要在base和derived类中定义具有相同名称和参数列表的函数时,我们使用'虚拟'关键字。但是在destructos的情况下为什么我们需要virtual作为名称会有所不同,编译器不应该像构造函数那样混淆。 我真的很困惑。
答案 0 :(得分:0)
在对象层次结构中,您可以将对象存储在基础对象的集合中。为了确保您的派生类型'析构函数也会在清理过程中执行,你应该让你的dtors虚拟化。
但是,你可能并不总是想要那个,因此c ++(我想你的是c ++问题),或者语言让你有机会控制这种行为。