成员对象和封闭类
1、概念
一个类的成员变量如果是另一个类的对象,则该成员变量称为成员对象,包含成员对象的类叫作封闭类。
2、封闭类构造函数初始化列表
(1)对于成员对象,初始化列表的“参数表”中列出的成员对象构造函数 (指明了该成员对象如何初始化)
(2)封闭类生成对象时,先执行所有成员对象的构造函数,然后执行封闭类的构造函数,成员对象构造函数与在类中定义的顺序一致,析构函数的调用则相反
【示例】
#include<iostream>
using namespace std;
class CTyre
{
private:
int radius;
int width;
public:
CTyre():radius(16),width(185){
} //构造函数
CTyre(int r,int w):radius (r),width(w){
} //构造函数
int getRadius()
{
return radius ;
}
int getWidth()
{
return width;
}
};
class CCar
{
private:
int price;
CTyre tyre;
public:
CCar ();
CCar(int p,int tr,int tw);
int getPrice()
{
return price;
}
CTyre getcTyre()
{
return tyre;
}
};
CCar::CCar()
{
price = 50010;
cTyre();
};
CCar::CCar(int p,int tr,int tw) :price