课程咨询 : 020-87532245 24小时热线:15622781509 咨询QQ:3061057839

广州C++培训 > 达内新闻 > 广州C++培训机构浅谈C++派生类的析构函数
  • 广州C++培训机构浅谈C++派生类的析构函数

    发布:广州C++培训      来源:C语言论坛      时间:2016-09-28

  • 从广州达内C++培训班得知,和构造函数类似,析构函数也是不能被继承的。

    创建派生类对象时,构造函数的调用顺序和继承顺序相同,先执行基类构造函数,然后再执行派生类的构造函数。但是对于析构函数,调用顺序恰好相反,即先执行派生类的析构函数,然后再执行基类的析构函数。

    请看下面的例子:

      #include <iostream>
        using namespace std;
        class A{
        public:
            A(){cout<<"A constructor"<<endl;}
            ~A(){cout<<"A destructor"<<endl;}
        };
        class B: public A{
        public:
            B(){cout<<"B constructor"<<endl;}
            ~B(){cout<<"B destructor"<<endl;}
        };
        class C: public B{
        public:
            C(){cout<<"C constructor"<<endl;}
            ~C(){cout<<"C destructor"<<endl;}
        };
        int main(){
            C test;
            return 0;
        }

    运行结果:

    A constructor

    B constructor

    C constructor

    C destructor

    B destructor

    A destructor

    从运行结果可以很明显地看出来,构造函数和析构函数的执行顺序是相反的。

    需要注意的是,一个类只能有一个析构函数,调用时不会出现二义性,所以析构函数不需要显式地调用。

    推荐文章

上一篇:广州达内告诉你C++派生类的构造函数的作用

下一篇:广州达内解析何为C++类的多继承

最新开班日期  |  更多

c++--零基础周末班

c++--零基础周末班

开班日期:4月15日

c++--零基础全日制班

c++--零基础全日制班

开班日期:4月15日

c++--免费训练营

c++--免费训练营

开班日期:4月15日

c++--高薪就业班

c++--高薪就业班

开班日期:4月15日

  • 网址:http://gz.c.tedu.cn     地址:广州市天河北五山路 141 号尚德大厦 627
  • 课程培训电话: 020-87532245 24小时热线:15622781509 咨询QQ:3061057839     全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56