#include <iostream> using namespace std; class base { public: ~base() { cout<<endl<<"ln virtual destructor"; } virtual void fun1() { cout<<endl<<"ln base::fun1()"; } }; class derived:public base { public: ~derived() { base *p; p=this; p->fun1(); } void fun1() { cout<<endl<<"ln derived::fun1()"; } }; int main() { derived d; return 0; }
Output
ln derived::fun1() ln virtual destructor
Leave a Reply