类中构造函数的顺序
来源:互联网 发布:杜兰特夺冠知乎 编辑:程序博客网 时间:2024/05/16 14:18
title: 类中构造函数的顺序
date: 2016-06-08 15:29:08
categories: C++
tags:
- C
- C++
- 构造函数
在一个class及其继承类中,不但有父类,还有类的成员,还有子类。那么父类的构造函数,成员变量的构造函数以及子类的构造函数的顺序是怎么样的,有以下例题:
# include <iostream>using namespace std;class A { public: A() { cout<<"create A"<<endl; } A(const A& other){ cout<<"copy A"<<endl;} //复制构造函数 ~A() { cout<<"~A"<<endl; } }; class C{public: C() { cout<<"create C"<<endl; } C(const A& other){ cout<<"copy C"<<endl;} //复制构造函数 ~C() { cout<<"~C"<<endl; } };class B:public A { public: B() { cout<<"create B"<<endl; } ~B() { cout<<"~B"<<endl; } private: C _a; }; int main(void) { B b; cout<<"------------------------"<<endl;}
该程序的输出结果为
create Acreate Ccreate B------------------------~B~C~A
-感谢@牛客网 网友提供以上题目。
从以上的构造顺序可以看出:
父类的构造函数>成员变量C的构造函数>子类的构造函数
而析构的过程恰恰相反。
0 0
- 类中构造函数的顺序
- 类构造函数的顺序
- C#类的继承中,构造函数的执行顺序
- 继承类中静态构造函数的执行顺序
- c++中 子类父类的构造函数调用顺序
- C++中类的构造函数调用顺序
- c++中派生类构造函数的执行顺序
- C++中类的构造函数调用顺序
- C++中类的构造函数调用顺序
- java 类中 构造函数的相互调用 顺序
- C++中构造函数的执行顺序
- C++中构造函数的执行顺序
- C++中构造函数的执行顺序
- C++中构造函数的执行顺序
- C++中构造函数的执行顺序
- Java中构造函数的执行顺序
- C++中构造函数的执行顺序
- 构造函数的构造顺序
- 3月学习日志
- linux下对sh文件的基本操作总结
- 无法获得锁 /var/lib/dpkg/lock
- 创建数据库文件-日志文件-次要数据库文件
- Android Dex文件格式简介
- 类中构造函数的顺序
- json net.sf.json
- Android 通用页面滑动退出库,集成简单只要一行代码
- Q&A——性能优化(三)
- 欢迎使用CSDN-markdown编辑器
- 2月学习
- bzoj1566 [NOI2009]管道取珠
- PE文件结构详解(一)基本概念
- 外汇平台 ifx fxcm ibA