#include <iostream>                // Ex39
using namespace std;
struct base {
    int i;
    base( int i ) { cout << "base, i:" << i << endl; }
    ~base() { cout << "~base" << endl; }
};
struct derived : public base {
    derived() : base( 3 ) { cout << "derived" << endl; }
    derived( int i ) : base( i ) { cout << "derived, i:" << i << endl; }
    ~derived() { cout << "~derived" << endl; }
};
int main() {
    base b( 2 );        cout << "=====" << endl;
    derived d1;         cout << "=====" << endl;
    derived d2( 7 );    cout << "=====" << endl;
}
