类的组合
#include <iostream>
#include <cstring>
using namespace std;
class A
{
protected:
string stra;
public:
A(string stra) : stra(stra) { cout << stra<<endl; }
~A() { cout << "~A::stra"<<endl; }
};
class B
{
protected:
string strb;
public:
B(string strb) : strb(strb) { cout << strb<<endl;}
~B() { cout << "~B::strb"<<endl;}
};
class C
{
protected:
string strc;
public:
C(string strc) : strc(strc) { cout << strc<<endl; }
~C() { cout << "~C::strc"<<endl; }
};
class D
{
protected:
A aobject;
C cobject;
B bobject;
public:
D(string stra, string strb, string strc) :aobject(stra),bobject(strb),cobject(strc){}
~D(){cout<<"~D::"<<endl;}
}; int main()
{
D dobject("a","b","c");
}