C++ 继承的构造与析构
来源:互联网 发布:腾道数据 编辑:程序博客网 时间:2024/06/05 18:59
子类对象的构造
- 子类中可以定义构造函数
- 子类构造函数
- 必须对继承而来的成员进行初始化
- 直接通过
初始化列表
或者赋值的方式
进行初始 调用父类构造函数
进行初始化
- 直接通过
- 必须对继承而来的成员进行初始化
- 父类构造函数在子类中的调用方式
- 默认调用
- 适用于无参构造函数和使用默认参数的构造函数
- 显示调用
- 通过
初始化列表
进行调用 - 适用于所有父类构造函数
- 通过
- 默认调用
- 父类构造函数的调用
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
举个例子:
- 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
- 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
运行结果如下:
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 构造规则
- 子类对象在创建时会首先调用
父类的构造函数
- 先执行父类构造函数再执行
子类的构造函数
- 父类构造函数可以被隐式调用或者显示调用
- 子类对象在创建时会首先调用
- 对象创建时构造函数的
调用顺序
- 调用
父类
的构造函数 - 调用
成员变量
的构造函数 - 调用
类自身
的构造函数 - 口诀:
先父母
,后客人
,再自己
- 调用
举个例子:
- 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
- 50
- 51
- 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
- 50
- 51
运行结果如下:
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
子类对象的析构
析构函数
的调用顺序与构造函数相反- 执行
自身
的析构函数 - 执行
成员变量
的析构函数 - 执行
父类
的析构函数
- 执行
举个例子:
- 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
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 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
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
执行结果如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
阅读全文
0 0
- [C++]继承与构造析构
- 多继承的构造与析构
- 继承的构造与析构
- c++继承的构造与析构
- 继承的构造与析构
- C++ 继承的构造与析构
- C++ 继承的构造与析构
- C++ 继承的构造与析构
- 继承中的构造和析构、继承与组合混搭下的构造和析构
- [c++]容器类。继承类的构造和析构
- 【Linux基础】多继承的构造与析构
- C++学习 继承的构造与析构
- c++学习笔记(11.继承的构造与析构)
- 【c++程序】继承的构造与析构
- 非继承的 构造函数 与 析构函数
- 继承与组合混搭的构造和析构
- dephi继承中的构造与析构
- 继承中的构造与析构
- 历年阿里面试题汇总
- 轻松学,浅析依赖倒置(DIP)、控制反转(IOC)和依赖注入(DI)
- java之MVC设计模式浅析
- Android常用框架----权限管理系列框架
- 自己写的凌乱的笔记
- C++ 继承的构造与析构
- 关于排列组合的一点点自己的见解
- 第1章 Node简介
- 概率论笔记---组合分析(总结)
- 细说多线程之Thread VS Runnable
- POJ 2210
- WHEN NOT TO USE DEEP LEARNING
- 汇编与机器指令的相关笔记(1)
- 如何查看yum安装的软件被安装到了哪个目录