Never tell the truth to people who are not worthy of it.
- Mark Twain
#include <iostream>
using namespace std;
class Base
{
public:
Base()
{
cout << "Base::Base()" << endl;
}
virtual void VF()
{
cout << "Base::VF()" << endl;
}
virtual ~Base()
{
cout << "Base::~Base" << endl;
}
};
class Derived : public Base
{
public:
Derived()
{
cout << "Derived::Derived()" << endl;
}
void VF()
{
cout << "Derived::VF()" << endl;
Base::VF();
}
~Derived()
{
cout << "Derived::~Derived" << endl;
}
};
int main()
{
Derived* d = new Derived();
d->VF();
delete d;
return 0;
}
Base::Base() Derived::Derived() Derived::VF() Base::VF() Derived::~Derived Base::~Base