C++基类和派生类的析构函数

2021年1月11日   |   by tgcode

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

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

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

请看下面的例子:

#include 
using namespac++e std;

class A{
public:
    A(){cout
运行结果:
A constructor
B constructor
C constructor
C destructor
B destructor
A destructor

相关推荐: 如何实现C++和C的混合编程?

 相关推荐: 如何规范地使用C++内联函数 相关推荐: C++内联函数也可以用来代替宏 相关推荐: C语言究竟是一门怎样的语言?对于大部分程序员,C语言是学习编程的第一门语言,很少有不了解C的程序员。 C语言除了能让你了解编程的相关概念,带你走进编程的大门,还…

Tags: