300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > C++ 基类和派生类的析构函数

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

时间:2023-07-13 13:46:59

相关推荐

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 constructorB constructorC constructorC destructorB destructorA destructor

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。