C++类的构造函数和析构函数的调用顺序
来源:互联网 发布:单片机的32个引脚介绍 编辑:程序博客网 时间:2024/06/07 00:41
有时候我们做一些笔试或者是面试中可能会遇到定义一些类,然后叫你写出类的构造函数和析构函数调用顺序。这时候我们就需要对这个有了解才能够正确的做出来。先看看下面的一段代码。
#include <iostream>using namespace std;class A {public: A() { cout << "A()" << endl; } ~A() { cout << "~A()" << endl; }};class B : public A {public: B() { cout << "B()" << endl; } ~B() { cout << "~B()" << endl; }};class C : public B {public: C() { cout << "C()" << endl; } ~C() { cout << "~C()" << endl; }};class D : public C {public: D() { cout << "D()" << endl; } ~D() { cout << "~D()" << endl; }};int main(){ A a; B b; C c; D d; return 0;}
来看看下面的运行结果我们就会明白其中的调用顺序是怎么一回事了。如果看不明白可以自己上机实践一下,只要我们掌握其中的原理,对于其它的变换就能够快速的写出构造和析构函数的调用顺序问题。记住析构函数的调用顺序与构造函数是相反的。
A()
A()
B()
A()
B()
C()
A()
B()
C()
D()
~D()
~C()
~B()
~A()
~C()
~B()
~A()
~B()
~A()
~A()
0 0
- 类的析构函数和构造函数调用顺序
- 派生类构造函数和析构函数的调用顺序(C++)
- 关于构造函数和析构函数的调用顺序
- C++构造函数和析构函数的调用顺序
- C++构造函数和析构函数的调用顺序
- 析构函数和构造函数的调用顺序
- 调用构造函数和析构函数的顺序
- 构造函数和析构函数的调用顺序
- 浅谈构造函数和析构函数的调用顺序
- C++构造函数和析构函数的调用顺序
- 构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序
- 构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序
- 构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序
- 构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序
- <C++>13.构造函数和析构函数的调用顺序
- 类的构造函数与析构函数调用顺序
- 拷贝构造,构造函数,析构函数的调用顺序
- 【c++】构造函数调用顺序的研究
- 引用字体
- [2015-08-08] python019
- CF_560A_CurrencySystemInGeraldion
- 接口
- 算法竞赛入门经典(第二版) 习题3-6 Crossword Answers UVa232 Finals1994
- C++类的构造函数和析构函数的调用顺序
- 互联网金融行业全景及展望
- UVA 538 - Balancing Bank Accounts
- 天道酬勤
- 对萍蹈堵钾嚼释锹
- OpenCV学习笔记(1)—— 摄像机模型与标定2
- Linux framebuffer显示bmp图片
- hdu1870(愚人节的礼物)--- 简单栈类
- 互斥锁和条件变量