| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 类---继承 -> 正文阅读 |
|
[C++知识库]类---继承 |
1. 基类和派生类c++中的继承:从既有类(基类)产生新类(派生类) 1.1 派生类的生成步骤
1.2 派生类的局限
1.3 派生方式
总结:无论哪种派生方式,都不能访问基类的私有成员(体现封装性);无论哪种派生方式,都可直接访问基类的非私有成员;只有公有派生类对象可以访问基类的公有成员。 2. 派生类对象的构造和销毁2.1 构造的四种情况? ? ? ? 派生类必须重新定义构造函数和析构函数 ? ? ? ?① 派生类显式定义了构造函数,而基类没有显式定义构造函数 ? ? ? ? ? ? 调用派生类构造函数,自动调用基类的缺省的构造函数 ? ? ? ?② 派生类没有显式定义构造函数,而基类显式定义了构造函数 ? ? ? ? ? ? 不合法,基类必须有默认的无参构造函数 ??? ? ? ? ?③ 派生类显式定义了构造函数,基类有默认构造函数 ? ? ? ? ? ? 默认调用基类的无参构造函数,如果想调用有参构造函数,则必须在派生类构造函数的初始化列表中显式调用。 ? ? ? ? ④ 派生类和基类都定义了构造函数,但基类没有无参构造函数 ? ? ? ? ? ? 派生类必须在构造函数的初始化列表中显式调用基类的构造函数。
2.2 构造函数的调用顺序
2.3?析构函数的调用顺序
3. 多基继承3.1 继承方式
3.2 两个问题???????① 成员同名的二义性问题 --- 多个基类中存在同名成员 ???????② 菱形继承的二义性问题 --- 在多条继承路径上有一个共同的基类 4. 基类和派生类的相互转换“类型适应”?两种类型之间的关系;? A类适应B类: A类的对象能直接用于B类对象能应用的场合 4.1 向上转型(派生类=>基类)
4.2 向下转型(基类=>派生类)C++强制转换 --- static_cast关键字
5. 派生类对象间的复制控制??????① 用户定义了基类拷贝构造函数,没有定义派生类拷贝构造函数 ? ? ? ? ? 基类部分执行基类的拷贝构造函数,派生类部分执行缺省的拷贝构造函数 ? ? ? ② 用户重载了基类的赋值运算符函数,没有重载派生类赋值运算符函数 ? ? ? ? ? 基类部分执行基类的赋值运算符函数,派生类部分执行缺省的赋值运算符函数 ? ? ? ③ 用户定义了派生类的拷贝构造函数或重载了派生类的赋值运算符函数 ? ? ? ? ? 需要在派生类的拷贝构造函数或赋值运算符函数中显式调用派生类的拷贝构造函数和赋值运算符函数 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 6:54:25- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |