/**
 * Basic inheritance in C++
 * Example 2
 */

#include <iostream>
using namespace std;


class Parent
{
    public:
        Parent()
        {
            cout << "In Parent class ctor" << endl;
        }

        ~Parent()
        {
            cout << "In Parent class dtor" << endl;
        }

        virtual char * Id (void )
        {
            return "Parent";
        }
};

class Child: public Parent
{
    public:
        Child()
        {
            cout << "In Child class ctor" << endl;
        }

        ~Child()
        {
            cout << "In child class dtor" << endl;
        }

        virtual char * Id ( void )
        {
            return "Child";
        }

};

int main( int argc, char *argv[])
{
    Child bar;

    cout << bar.Id() << endl;
}