#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;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8bWFwPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIGhlYWRlcgp7CnB1YmxpYzoKICAgIGhlYWRlcih2b2lkKQogICAgewogICAgICAgIGNvdXQ8PCJjdG9yX2hlYWRlciI8PGVuZGw7CiAgICB9CiAgICB+aGVhZGVyKHZvaWQpCiAgICB7CiAgICAgICAgY291dDw8ImR0b3JfaGVhZGVyIjw8ZW5kbDsKICAgIH0KfTsKCmNsYXNzIGZ1bmNfMSA6IHB1YmxpYyBoZWFkZXIKewpwdWJsaWM6CiAgICAgZnVuY18xKHZvaWQpCiAgICB7CiAgICAgICAgY291dDw8ImN0b3JfZnVuY18xIjw8ZW5kbDsKICAgIH0KICAgICB+ZnVuY18xKHZvaWQpCiAgICB7CiAgICAgICAgY291dDw8ImR0b3JfZnVuY18xIjw8ZW5kbDsKICAgIH0KfTsKCmNsYXNzIGZ1bmNfMiA6IHB1YmxpYyBmdW5jXzEKewpwdWJsaWM6CiAgICAgZnVuY18yKHZvaWQpCiAgICB7CiAgICAgICAgY291dDw8ImN0b3JfZnVuY18yIjw8ZW5kbDsKICAgIH0KICAgICB+ZnVuY18yKHZvaWQpCiAgICB7CiAgICAgICAgY291dDw8ImR0b3JfZnVuY18yIjw8ZW5kbDsKICAgIH0KfTsKCmludCBtYWluKHZvaWQpCnsKICAgIGZ1bmNfMiBhOwogICAgY291dDw8ZW5kbDsKCiAgICByZXR1cm4gMDsKfQo=