浅谈构造函数和析构函数的调用顺序
来源:互联网 发布:希区柯克剧场 知乎 编辑:程序博客网 时间:2024/04/30 23:26
作者: 大呀大帝国
email:drnijq@126.com
刚刚遇到了这么一个例子:
#include <iostream>using namespace std;class T {public: T () { cout << "T()" << endl; } ~T () { cout << "~T()" << endl; }};class A {public: A () : _t () { cout << "A()" << endl; } virtual ~A () { cout << "~A()" << endl; } T _t;};class B : public A{public: B () { cout << "B()" << endl; } virtual ~B () { cout << "~B()" << endl; }};int main(int argc, char const *argv[]) { B b0; return 0;}
运行后的结果为
[root@b7cdfa01d097 host_dir]# ./a.out T()A()B()~B()~A()~T()
可以看出,首选构造函数会先调用基类的构造函数,所以顺序为 T() -> A () -> B()
构造函数正好反过来,先构造的后析构,所以顺序为 ~B() -> ~A() -> ~T()
0 0
- 浅谈构造函数和析构函数的调用顺序
- 浅谈构造函数与析构函数的调用顺序
- 浅谈构造函数与析构函数的调用顺序
- 浅谈构造函数与析构函数的调用顺序
- 浅谈构造函数与析构函数的调用顺序
- 浅谈构造函数与析构函数的调用顺序
- 浅谈构造函数与析构函数的调用顺序
- 浅谈构造函数与析构函数的调用顺序
- 关于构造函数和析构函数的调用顺序
- C++构造函数和析构函数的调用顺序
- C++构造函数和析构函数的调用顺序
- 析构函数和构造函数的调用顺序
- 调用构造函数和析构函数的顺序
- 构造函数和析构函数的调用顺序
- C++构造函数和析构函数的调用顺序
- 类的析构函数和构造函数调用顺序
- 构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序
- 构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序
- postgresql dblink使用
- android rxjava的简单使用
- java内存结构和对象创建的过程
- Spring-data-redis
- 自定义ViewGroup动态添加删除Tab
- 浅谈构造函数和析构函数的调用顺序
- Docker 技巧:删除 Docker 容器和镜像
- web容器, ejb, jms 介绍
- Python(8): Lambda,列表解析器,生成器表达式,range函数
- itunes connect上传前的准备
- Android App的设计架构:MVC,MVP,MVVM与架构经验谈
- MySQL学习笔记
- 【C#】数组,集合,泛型
- linux命令小记