**
3.9 类的组合
**
(1)定义:在一个类中内嵌另一个类的对象作为数据成员,称为类的组合
该内嵌的对象称为对象成员,或子对象
(2)形式:
class X{
类名1 对象成员1;
类名2 对象成员2;
、、、
类名n 对象成员n;
}
类X的构造函数
(3)类X的构造函数定义形式:
X::X(形参表 0):对象成员1(形参表1),对象成员2(形参表2),.....
{
//类X的构造函数体
}
【注意】对象成员为对象成员名,而不是类名
(4)构造函数执行顺序
1)内嵌对象成员在类声明中的顺序
2)类X的构造函数体
(5)析构函数执行顺序
与构造函数执行顺序相反
示例:
#include<iostream>
using namespace std;
class A{
public:
A(int date=0); //类A构造函数声明
private:
int Date;
};
A::A(int date){ //类A的(类外定义的)构造函数
Date=date;
}
class B{
public:
B(float week,int date); //类B构造函数声明
private:
float Week;
Date var_date; //对象成员
};
B::B(float week,int date):var_date(date){ //类B的(类外定义的)构造函数
Week=week;
}