
#include <bits/stdc++.h>
using namespace std;
class base
{
private:
int n;
public:
base(int _n) : n(_n) { cout << "Base Constructed" << endl; };
~base(void) { cout << "Base Destructed" << endl; };
};
class derived : public base
{
public:
derived(int n) : base(n) { cout << "Derived Constructed" << endl; };
~derived(void) { cout << "Derived Destructed" << endl; };
};
class more_derived : public derived
{
public:
more_derived(int n) : derived(n) { cout << "More derived Constructed" << endl; };
~more_derived(void) { cout << "More derived Destructed" << endl; };
};
int main(void)
{
more_derived md(1);
return 0;
}
/*
Base Constructed
Derived Constructed
More derived Constructed
More derived Destructed
Derived Destructed
Base Destructed
*/