前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >派生类的构造过程

派生类的构造过程

作者头像
我与梦想有个约会
发布2023-10-20 16:45:39
1280
发布2023-10-20 16:45:39
举报
文章被收录于专栏:jiajia_deng

1、先基类、后对象、再子类 多继承,初始化顺序跟基类的声明顺序有关,从左到右。 对象 ,与声明类的顺序有关,从上到下。

2、若基类的构造器是默认构造器,就可以不显示的调用,如果没有的话,必须显示调用 此规则同样适用于类中的对象。 3、派生类的析构顺序,与构造顺序相反。 先子类、后对象、再基类。正好符合压栈与出栈的顺序。 并且,不需要显示的调用析构器,因为析构器默认无参且不能重载,以下为演示代码:

代码语言:javascript
复制
#include 
 
using namespace std;
 
class X
{
public:
X(){cout << “X(){}” << endl;}
X(){cout << “X(){}” << endl;}
};
 
class Base
{
public:
Base(){cout << “Base(){}” << endl;};
Base(){cout << “Base(){}” << endl;};
};
 
class Derive : public Base
{
public:
Derive(){cout << “Derive(){}” << endl;};
Derive(){cout << “Derive(){}” << endl;};
private:
X x;
};
 
int main(int argc, char* argv[])
{
Derive d;
return 0;
}

代码运行后的效果如下:

2015-05-22_213207
2015-05-22_213207
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档