派生类的构造函数和析构函数

关于构造函数和析构函数的总结:

1.构造函数和析构函数都不能被继承(原因:构造函数和析构函数和类的名字相同,继承过来就会出错)。

2.派生类对象呗被创建时,基类的对象会被先创建。

               A->B->C->D;

    比如说:class D:public A,public B,public C;

              构造的时候先创建A 的对象,再创建B的对象,再创建C 的对象。

              析构的时候 先析构C的对象,再洗后B的对象,再析构C 的对象

3.派生类的构造函数被调用时,先会调用基类中的默认的一个构造函数。

4.派生类中的构造函数用了初始化表的方式调用了基类构造函数(这里初始化表指的是构造函数初始化表而不是参数的初始化表,看例子)。

5.派生类对象在析构的时候,先执行派生类的构造函数,再执行基类的析构函数。

class A                                              class B:public A 

{                                                         {

      public:                                                    public:

      A();                                                          int x;

      A(int x);                                                   B();

     ~A();                                                         B(int y);

                                                                      ~B();

                                                             

};                                                             };

A::A(){                                                              B::B():A(23),x(123) {                     //创建对象B的时候,会调用A对象的构造函                                                                                                                                ,数,A(23)指的是A类中的构造函数,X指的                                                                                                                                   是B的成员变量X

     ---------------                                                    ------------------------

};                                                                       };

A::A(int x){                                                       B::B(int y):A(y)                              //如果没写A的话则默认调用A 类中无参的构                                                                                                                             造函数。A()

{                                                                        {

--------                                                                

};                                                                        };

A::~a(){                                                                B::~B(){

                                                                               

}                                                                          };


               

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值