#include <iostream>
#include <string>
#include <map>

using namespace std;

class header
{
public:
    header(void)
    {
        cout<<"ctor_header"<<endl;
    }
    ~header(void)
    {
        cout<<"dtor_header"<<endl;
    }
};

class func_1 : public header
{
public:
     func_1(void)
    {
        cout<<"ctor_func_1"<<endl;
    }
     ~func_1(void)
    {
        cout<<"dtor_func_1"<<endl;
    }
};

class func_2 : public func_1
{
public:
     func_2(void)
    {
        cout<<"ctor_func_2"<<endl;
    }
     ~func_2(void)
    {
        cout<<"dtor_func_2"<<endl;
    }
};

int main(void)
{
    func_2 a;
    cout<<endl;

    return 0;
}
