IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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++ Primer Plus 第13章笔记 -> 正文阅读

[C++知识库]C++ Primer Plus 第13章笔记

第13章 类继承

13.1 一个简单的基类

class RatedPlayer : public TableTennisPlayer
{
    ...
}

冒号指出RatedPlayer继承TableTennisPlayer类,public声明TableTennisPlayer是一个共有继承,称为公有派生。

使用公有派生,基类的公有成员将成为派生类的公有函数,私有部分也将成为派生类的一部分,但只有通过基类公有函数和保护方法才能访问。

派生类可以有自己的构造函数,可以根据需要添加额外的成员数据和方法。

初始化基类成员:可以通过:TableTennisPlayer(fn , ln , ht)成员初始化列表初始化基类成员。

构造派生类的顺序:1.创建基类对象,2.通过成员初始化列表调用基类构造函数,3.初始化派生类的数据成员。

基类指针可以不进行显示类型转化地指向派生类,基类引用可以在不进行显示类型转化地引用派生类。反之不允许。

基类指针只能调用基类方法。

13.3 多态公有继承

同一个方法在派生类和基类中的行为是不同的。这种较复杂的行为称为多态。

实现多态公有继承方法:1.在派生类中重新定义基类方法。2.使用虚方法。

基类使用virual关键字的方法称为虚方法。

如果没有使用关键字virtual,程序将根据引用类型或指针类型选择方法;如果使用了virtual,程序将根据引用或指针指向的对象的类型来选择方法。

重写了基类的函数,调用基类该函数需要使用作用域解析运算符。

析构函数一定是虚函数。即使基类不需要显示析构函数提供服务,也要提供析构函数,即使它不执行任何操作。

构造函数一定不能是虚函数。

友元函数不能是虚函数。

如果要在派生类中重新定义基类的方法,则将它设置为虚方法;否则,设置为非虚方法。

重新定义基类方法不是重载,而是隐藏基类方法。

如果重新定义继承的方法,应确保与原来的原型完全相同,但如果在返回类型是基类引用或指针,则可以修改为指向派生类的引用或指针。

如果重新定义的方法被重载了,则应在派生类中重新定义所有的基类方法。

13.5 访问控制:protected

访问控制protected派生类的成员可以直接访问基类的保护成员,但不能访问基类的私有成员。

13.6 抽象基类

C++通过使用纯虚函数提供未实现的函数。

在虚函数原型后加=0声明为纯虚函数,在类中可以不定义该函数。

类声明中包含纯虚函数时,则不能创建该类的对象。

13.7 继承和动态内存分配

当基类和派生类都采用动态内存分配时,对于构造函数,这是通过在初始化成员列表币调用基类的复制构造函数来完成的。

派生类的显式赋值运算符必须负责所有继承的基类对象的赋值,可以通过显式调佣基类赋值运算符来完成这项工作。

13.8 类设计回顾

对于基类,即使它不需要析构函数,也应提供一个虚析构函数。

成员函数属性:

函数能否继承成员函数友元默认能否生成能否为虚函数是否可以有返回类型
构造函数成员
析构函数成员
=成员
&任意
转换函数成员
()成员
[]成员
->成员
op=任意
new静态成员void*
delete静态成员void
其他运算符任意
其他成员成员
友元友元
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-07 13:32:31  更:2022-02-07 13:32:51 
 
开发: 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 9:08:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码