#include <iostream>
using namespace std;
//轮胎类
class Ctyre {
private:
int radius;
int width;
public:
Ctyre(int r,int w):radius(r),width(w){}
};
//引擎类
class CEngine {
public:
};
//车->封闭类
class CCar {
private:
int price;
Ctyre tyre;
CEngine engine;
public:
CCar(int p,int tr,int tw);
};
CCar::CCar(int p,int tr,int tw):price(p),tyre(tr,tw){
};
int main(int argc, const char * argv[]) {
CCar(20000, 17, 255);
return 0;
}
封闭类构造函数的初始化列表
- 定义封闭类的构造函数时,添加初始化列表:
类名::构造函数(参数表):成员变量1(参数表),成员变量2(参数表)...
调用顺序
- 当封闭类对象生成的时候,
- s1:执行所有成员对象的构造函数
- s2:执行封闭类的构造函数
- 成员对象的构造函数调用顺序
- 和成员对象在类中的说明顺序一致
- 与在成员初始化列表中出现的顺序无关
- 当封闭类的对象消亡时,
- s1:先执行封闭类的析构函数
- s2:执行成员对象的析构函数
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。