派生类的析构函数

本文通过一个C++示例详细介绍了派生类和基类的析构函数调用顺序。演示了如何通过派生类和基类中的输出来观察析构函数的调用顺序,并强调了其与构造函数顺序的逆向关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

同上一节一样,在派生类中,析构函数也无法被派生类吸收。

重点大家需要清楚派生类和基类的析构函数的调用顺序,析构函数的调用顺序与构造函数则完全相反,我们可以在派生类析构函数和基类析构函数中输出一条信息,观察调用顺序:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

/**************************************

//Des:C++教程demo

//Author:Huang

//Copyright:www.dotcpp.com

//Date:2017/11/15

**************************************/

#include<iostream>

using namespace std;

class Clock

{

private:

    int H;

    int M;

    int S;

public:

    Clock()

    {

        cout<<"Clock's Constructor Called!"<<endl;

    }

    ~Clock()

    {

        cout<<"Clock's Destructor Called!"<<endl;

    }

  

};

  

class AlarmClock:public Clock

{

private:

    int AH;

    int AM;

public:

    AlarmClock()

    {

        cout<<"AlarmClock's Constructor Called!"<<endl;

    }

    ~AlarmClock()

    {

        cout<<"AlarmClock's Destructor Called!"<<endl;

    }

  

};

  

int main()

{

    AlarmClock A;

  

    return 0;

}

运行截图:

xg.png

大家可以看到定义一个派生类AlarmClock会先产生基类,同时析构顺序却是相反。

构造函数调用顺序:基类->派生类银行从业考试合格要求

析构函数调用顺序:派生类->基类

请大家亲自上机实验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值