先来看单继承的情况,以类A为基类,类B为类A的派生类,试运行以下程序:
class A
{
public:
A():age(1),name("ll")
{
cout<<"Class A Empty Constructor !"<<endl;
}
A(A &a)
{
cout<<"Class A Copy Constructor !"<<endl;
}
~A()
{
cout<<"Class A Destructor !"<<endl;
}
protected:
string name;
int age;
};
class B:public A
{
public:
B()
{
cout<<"Class B Empty Constructor !"<<endl;
}
B(B &b)
{
cout<<"Class B Copy Constructor !"<<endl;
}
B(A &a)
{
cout<<"Class B Copy A Constructor !"<<endl;
}
~B()
{
cout<<"Class B Destructor !"<<endl;
}
};
int main()
{
B b;
cout<<"--------------------------------"<<endl;
A a;
cout<<"--------------------------