#include class primero { int p_a; public: primero(int); ~primero(); }; primero::primero(int x) { p_a=x; cout << "primero, x = " << p_a << endl; } primero::~primero() { cout << "Se destruyó el primero" << endl; } class segundo: public primero { int s_a; public: segundo(int); ~segundo(); }; segundo::segundo(int x): primero(x-1) { s_a=x; cout << "segundo, x = " << s_a << endl; } segundo::~segundo() { cout << "Se destruyó el segundo" << endl; } class tercero: public segundo { int t_a; public: tercero(int); ~tercero(); }; tercero::tercero(int x): segundo(x-1) { t_a=x; cout << "tercero, x = " << t_a << endl; } tercero::~tercero() { cout << "Se destruyó el tercero" << endl; } void main(void) { tercero p(7); cout << endl; } /* Al ejecutar el programa se obtiene: primero, x = 5 segundo, x = 6 tercero, x = 7 Se destruyó el tercero Se destruyó el segundo Se destruyó el primero */