#include <iostream>
using namespace std;
class base {
public:
base() {
cout << "Constructing base\n";
}
~base() {
cout << "Destructing base\n";
}
};
class derived1 : public base {
public:
derived1() {
cout << "Constructing derived1\n";
}
~derived1() {
cout << "Destructing derived1\n";
}
};
class derived2: public derived1 {
public:
derived2() {
cout << "Constructing derived2\n";
}
~derived2() {
cout << "Destructing derived2\n";
}
};
int main()
{
derived2 ob;
return 0;
}
Constructing base
Constructing derived1
Constructing derived2
Destructing derived2
Destructing derived1
Destructing base