社区
C++ 语言
帖子详情
构造函数的调用为什么与析构函数的调用顺序相反?
KudoCC
2010-05-27 10:28:45
RT~ 为什么要这样设计?
...全文
303
7
打赏
收藏
构造函数的调用为什么与析构函数的调用顺序相反?
RT~ 为什么要这样设计?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liutengfeigo
2010-05-27
打赏
举报
回复
高手们都来了。
KudoCC
2010-05-27
打赏
举报
回复
[Quote=引用 3 楼 skyworth98 的回复:]
逻辑上来说,一个子类对象,首先应该是一个基类对象,因此基类的构造函数应该先于子类的构造函数运行。而对于析构函数来说,基类的构造函数并不了解子类的结构,因而子类必须先于基类完成清理。
[/Quote]
恩~ 也对,你是从继承角度说的,谢谢~
taodm
2010-05-27
打赏
举报
回复
可以结贴。
KudoCC
2010-05-27
打赏
举报
回复
确定的话,马上结贴
skyworth98
2010-05-27
打赏
举报
回复
逻辑上来说,一个子类对象,首先应该是一个基类对象,因此基类的构造函数应该先于子类的构造函数运行。而对于析构函数来说,基类的构造函数并不了解子类的结构,因而子类必须先于基类完成清理。
KudoCC
2010-05-27
打赏
举报
回复
[Quote=引用 1 楼 pengzhixi 的回复:]
因为栈的缘故. 后进先出
[/Quote]
有道理,确定否?
pengzhixi
2010-05-27
打赏
举报
回复
因为栈的缘故. 后进先出
构造函数
与
析构函数
的
调用
顺序
1、
构造函数
的
调用
顺序
基类
构造函数
、对象成员
构造函数
、...对象生命周期结束,被销毁时(一般类成员的指针变量与引用都i不自动
调用
析构函数
); 2.delete指向对象的指针时,或delete指向对象的基类类型指针,而其
C++
构造函数
和
析构函数
的
调用
顺序
一般情况下,
调用
析构函数
的次序正好与
调用
构造函数
的次序
相反
,也就是最先被
调用
的
构造函数
,其对应的
析构函数
最后被
调用
,而最后被
调用
的
构造函数
,其对应的
析构函数
最先被
调用
。当然对象的
构造函数
和
析构函数
调用
...
派生类的
构造函数
与
析构函数
的
调用
顺序
派生类的
构造函数
与
析构函数
的
调用
顺序
前面已经提到,
构造函数
和
析构函数
的
调用
顺序
是先构造的后析构,后构造的先析构。 那么基类和派生类中的
构造函数
和
析构函数
的
调用
顺序
是否也是如此呢?
构造函数
的
调用
...
构造函数
、
析构函数
的执行
顺序
1)
构造函数
顺序
① 基类
构造函数
。如果有多个基类,则
构造函数
...①
调用
派生类的
析构函数
; ②
调用
成员类对象的
析构函数
; ③
调用
基类的
析构函数
。 作者:阿秀 链接:https://zhuanlan.zhihu.com/p/349967745
构造函数
的执行
顺序
?
析构函数
的执行
顺序
?
【代码】
构造函数
的执行
顺序
?
析构函数
的执行
顺序
?
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章