#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