我想定义一个Cleanup
方法,当不再使用该对象时将调用该方法。我想从这个基础创建子类,并覆盖Cleanup
方法。不幸的是,子类中的方法未调用:
// Example program
#include <iostream>
class A {
public:
virtual void Cleanup() {
std::cout << "clean A" << std::endl;
}
virtual ~A() {
Cleanup();
}
};
class B: public A {
void Cleanup() override {
A::Cleanup();
std::cout << "clean B" << std::endl;
}
};
int main()
{
B b;
}
为什么会这样?即使我致电this->Cleanup()