2025年4月4日 星期五 乙巳(蛇)年 正月初五 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > VC/VC++

C++派生类的析构函数

时间:01-05来源:作者:点击数:430

和构造函数类似,析构函数也不能被继承。与构造函数不同的是,在派生类的析构函数中不用显式地调用基类的析构函数,因为每个类只有一个析构函数,编译器知道如何选择,无需程序员干涉。

另外析构函数的执行顺序和构造函数的执行顺序也刚好相反:

  • 创建派生类对象时,构造函数的执行顺序和继承顺序相同,即先执行基类构造函数,再执行派生类构造函数。
  • 而销毁派生类对象时,析构函数的执行顺序和继承顺序相反,即先执行派生类析构函数,再执行基类析构函数。

请看下面的例子:

  • #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
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门