C++关于虚析构函数例子
代码:
#include <iostream>
using namespace std;
class Base {
public:
Base() {
cout << "Base()" << endl;
}
virtual ~Base() {
cout << "~Base()" << endl;
}
virtual void func() {
cout << "Base func()" << endl;
}
};
class Derived : public Base {
public:
Derived() {
cout << "Derived()" << endl;
}
virtual ~Derived() {
cout << "~Derived()" << endl;
}
virtual void func() {
cout << "Derived func()" << endl;
}
};
int main() {
Base* pb = new Derived();
pb->func();
delete pb;
return 0;
}