派生类构造函数的调用顺序

派生类构造函数的调用顺序如下:

基类的构造函数;

子对象类的构造函数;

派生类的构造函数.

当撤销派生类对象时,析构函数的调用正好相反。

实例:

class  Base1 {  int x;

public:  Base1(int a){ x=a;cout<<"调用基类1的构造函数!\n"; }

  ~Base1( ){  cout<<"调用基类1的析构函数!\n"; }

};

class  Base2 {  int y;

public: Base2(int a){ y=a;cout<<"调用基类2的构造函数!\n"; }

  ~Base2( ){  cout<<"调用基类2的析构函数!\n"; }

};

class Derived:public Base2, public Base1{

  int z;  Base1  b1,b2;

public:  Derived(inta,int b):Base1(a),Base2(20), b1(200),b2(a+b)

    {z=b;   cout<<"调用派生类的构造函数!\n";}

~Derived( ){cout<<"调用派生类的析构函数!\n";}

};

void  main(void)

Derived   c(100,200);

}

调用基类2的构造函数

调用基类1的构造函数

调用基类1的构造函数说明基类1的对象b1)

调用基类1的构造函数说明基类1的对象b2)

调用派生类的构造函数

调用派生类的析构函数

调用基类1的析构函数

调用基类1的析构函数

调用基类1的析构函数

调用基类2的析构函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值