#include "common.h"
class A
{
public:
A();
A(int a, char *b);
~A();
public:
void fun_a();
protected:
void fun_b();
private:
int a_a;
protected:
int a_b;
public:
int a_c;
};
A::A()
{
cout <<"Construct A\n";
}
A::A(int a, char *b)
{
cout <<"Construct A A(int a, char *b) " << b << endl;
}
A::~A()
{
cout <<"Destruct A\n";
}
void A::fun_a()
{
cout <<" A::fun_a()\n";
}
void A::fun_b()
{
cout <<" A::fun_b()\n";
}
class B:public A //inherit A
{
public:
B();
B(int a, char *c);
~B();
public:
void funa();
public:
int b_a;
A a11;
A b22;
};
B::B():A(1, "aaaaaaaaaa")
{
cout <<"Construct B\n";
//a_a;
}
B::B(int a, char *c):b22(1, "2222222222222"), a11(),A()
{
cout <<"Construct B B(int a, char *c)\n";
//a_a;
}
B::~B()
{
cout <<"Destruct B\n";
}
void B::funa()
{
cout <<" B::funa()\n";
}