当前位置:首页 > C++ > 正文内容

C++ 派生类的析构函数的执行顺序

admin4年前 (2020-11-19)C++2665

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 c;

    return 0;
}

上述代码执行后效果如下:

image.png

扫描二维码推送至手机访问。

版权声明:本文由lovedm.club发布,如需转载请注明出处。

本文链接:https://lovedm.club/?id=104

分享给朋友:
返回列表

上一篇:C++ 函数指针

下一篇:C++常量

“C++ 派生类的析构函数的执行顺序” 的相关文章

C++读取ASCII格式DEM数据

C++读取ASCII格式DEM数据

要使用OpenGL显示DEM,就把tif的DEM转成了ASCII格式的,用的是ArcMap工具箱里的栅格转ASCII,转出来的格式是这样的:用了6行来描述数据,如下:第一行:数据的列数ncols第二行:数据的行数 nrows第三行:数据左下角的X值xllcorner第四行:数据左下角的Y值yllco...

C++ 函数指针

1、什么是函数指针函数是实现特定功能的程序代码的集合,函数代码在内存中也要占据一段存储空间,这段空间的起始地址称为函数的入口地址。C++规定函数的入口地址为函数的指针,即函数名既代表函数,又是函数的指针(或地址)。C++指向函数的指针变量,定义形式为:返回类型 (*函数指针变量名)(形参列表);可以...

OpenCV中简单的添加噪声

随机数生成器用到的是C++11中的新方法。以下代码来自OpenCV计算机视觉编程攻略第三版2.2.2节void salt(Mat image, int n) { default_random_engine generator; unifor...

C++ map使用

map是STL的容器,就是键值对的表示,其中键是唯一的,一个map里每个键都是唯一的不会重复,map的内部是使用红黑树实现的,所以内部是有序的。 下面代码没有注释,直接看了。 #include <iostream> #include <string> #include...

FY4B warp

#include <iostream> #include <string> #include <gdal_priv.h> #include "gdalwarper.h" using std::string; void wa...

linux g++编译gdal程序

使用conda装的python gdal虚拟环境,可以直接使用虚拟环境里面的库。除了gdal没有使用其他第三方库,直接在shell下使用g++命令编译。 g++ ./H9_rgb_render.cpp -I /home/ec2-user/environment/anaconda/anaconda3...