构造函数的调用为什么与析构函数的调用顺序相反?

KudoCC 2010-05-27 10:28:45
RT~ 为什么要这样设计?
...全文
303 7 打赏 收藏 转发到动态 举报
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
  • 打赏
  • 举报
回复
因为栈的缘故. 后进先出

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧