C++构造与析构讲解
更新时间:2023-06-07 12:05:01 阅读量: 实用文档 文档下载
- 虚函数 构造 析构推荐度:
- 相关推荐
C++中构造函数与析构函数使用方法详解。
对象并不是突然建立起来的,创建对象必须时必须同时创建父类以及包含于其中的对象。C ++遵循如下的创建顺序:
(1)如果某个类具体基类,执行基类的默认构造函数。
(2)类的非静态数据成员,按照声明的顺序创建。
(3)执行该类的构造函数。
即构造类时,会先构造其父类,然后创建类成员,最后调用本身的构造函数。
下面看一个例子吧
复制代码代码如下:
class c
{
public:
c(){ printf("c\n"); }
protected:
private:
};
class b
{
public:
b(){ printf("b\n");}
protected:
C++中构造函数与析构函数使用方法详解。
c C;
private:
};
class a : public b
{
public:
a(){ printf("a\n"); }
protected:
private:
};
int main()
{
a A;
getchar();
}
分析一下吧首先定义了3个类 a b c,其中a继承自b ,在main函数里面构造a ,因为a是继承b ,所以会先构造b,然后b类又有一个成员c类,所以c类是最先构造的,然后是b ,最后才是a。
C++中构造函数与析构函数使用方法详解。
在看一个例子,就是上面的该了一下:复制代码代码如下:
class c
{
public:
c(){ printf("c\n"); }
protected:
private:
};
class b
{
public:
b(){ printf("b\n");}
protected:
private:
};
class a : public b
{
public:
a(){ printf("a\n"); }
protected:
c C;
C++中构造函数与析构函数使用方法详解。
private:
};
int main()
{
a A;
getchar();
}
没有改变多少,只是在a添加了c成员,而b去掉了。
同样是在main里面构造a ,a继承自b,所以先构造b,然后构造a本身的数据成员c,最后才调用的a本身的构造函数。。
这里大家应该明白构造的细节了吧。。
接下来看析构的顺序:
(1)调用类的析构函数。
(2)销毁数据成员,与创建的顺序相反。
(3)如果有父类,调用父类的析构函数。
也看一个例子吧:
C++中构造函数与析构函数使用方法详解。
复制代码代码如下:
class c
{
public:
c(){}
~c(){ printf("c\n"); } protected:
private:
};
class b
{
public:
b(){}
~b(){ printf("b\n");} protected:
private:
};
class a : public b {
public:
a(){}
~a(){ printf("a\n"); } protected:
C++中构造函数与析构函数使用方法详解。
c C;
private:
};
int main()
{
a A;
return 0;
}
其过程是,在main函数结束时,会销毁a,就会先调用a的析构函数,先后销毁a的数据成员c,最后销毁a的父类b。其实就是跟创建时的顺序反了过来。
正在阅读:
C++构造与析构讲解06-07
岩体力学复习题05-04
饭菜中的父爱作文500字07-12
五年级上册培优训练题606-02
农村小学生营养改善计划管理制度(精)10-12
一件让我开心的事作文400字07-04
水性涂料发展现状及趋势107-23
物理光学期末考试题03-14
齿轮的误差及其分析10-05
第四单元 生产理论10-14
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- C++
- 构造
- 讲解
- 《咬文嚼字》导学学案
- 山西省2011年中考物理试卷分析参考
- 云南电网公司配网调度管理规程(范本)
- 信息化管理处党的群众路线教育实践活动第一阶段总结(好)
- 人口_资源与环境经济学的经济学分析视角探析
- 托福词汇表 A开头2
- 2015最新小学生守则(带拼音)
- 特种设备使用单位风险评价实施细则
- 中国历史地图集编绘的历史轨迹和理论思考
- 着力提升四种能力
- 行政许可法试题及答案
- 爱笑会议室 抢饭 剧本
- 2015考研政治复习五步走 中公考研
- 矿山复绿行动实施方案
- 基于单目视觉的工业机器人智能抓取研究
- 砂砾石回填施工方案
- 如何撰写营销策划(2)
- 做生意赚钱首先要选择好的经营地点
- 项目用工检查指导方法
- 2012麻醉生理学(一)(医学必看 试题带详细解析答案)(1)