如果A是B的派生类的话,可以通过派生类的构造函数通过子对象的形式为b赋值。
如A(type a2,type a2,type a11, type a22):B(a1,a2),b(a11,a22){}
其中A就是B的派生类,b是A的成员同时又是B的对象。
class A
{
public:
B b;
}
class B
{
public:
string s;
}
int main()
{
A a= new A();
a.b.s="YoursWay";
return(0);
}
for example
class birthday
{
public:
birthday()year(0),month(0),day(0){}
birthday(const int y,const int m,const int d):year(y),month(m),day(d){}
birthday(cosnt birthday& b){ this.year = b.year;this.month = b.month; this.day = b.day}
private:
int year;
int month;
int day;
};
class people
{
public:
people(){}
people(const string na,const string id,birthday b):name(na),ID(id),b(b){}
private:
string name;
string ID;
birthday b;
};
可以使用拷贝构造函数来实现