5-26 Cpp学习笔记

1、如果子类实现了基类的函数,返回值、参数都相同,就覆盖了基类的函数。

2、使用作用域解析运算符来调用基类的函数。myDinner.Swim(); —— 调用子类的。myDinner.Fish::Swim(); —— 调用基类的(基类是Fish)

3、在子类中使用关键字using解除对Fish::Swim()的隐藏。

public:using Fish::Swim; // unhide all Swim() methods in class Fish

4、父类优于子类对象之前被实例化。成员变量优于构造函数之前被实例化。

递归到父类,每个类先实例化成员,再调用构造。但是一定是先找到父类,再进行上述过程。

5、私有继承:base类的public、protected,只能被Derived类使用,而无法通过Derived实例来使用。私有继承是:has a,不再是is a。(考虑将继承关系变成组合)

保护继承:也是has a。Derived类可以访问基类的public、protected。继承层次结构外,也不能通过子类实例访问基类的成员。限制在类内实现而不是授权给实例。在继承层次结构中,子类的子类能访问Base类的public、protected。

无论什么继承,子类都不能访问父类的私有成员。

6、避免切除问题(类的截断),不要按值传递参数,以指向基类的指针或者const引用的方式

void UseBase(Base input);
...
Derived obj;
UseBase(obj); // 产生截断

7、多重继承,不同类之间用“,”隔开

class Platypus: public Mammal, public Bird, public Reptile {...
};

8、final —— 不能用做基类,禁止被继承。

class CannotBeBass final {...
};
class Platypus final: public Mammal, public Bird, public Reptile {...
};

 作用于成员函数,禁止多态。

9、提问:通过使用using语句,子类能不能访问父类的private?

—— 《21天学通C++》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/16202.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣刷题---LCS 02. 完成一半题目【简单】

题目描述 有 N 位扣友参加了微软与力扣举办了「以扣会友」线下活动。主办方提供了 2*N 道题目,整型数组 questions 中每个数字对应了每道题目所涉及的知识点类型。 若每位扣友选择不同的一题,请返回被选的 N 道题目至少包含多少种知识点类型。 示例 1&…

YOLOv10 论文学习

论文链接:https://arxiv.org/pdf/2405.14458 代码链接:https://github.com/THU-MIG/yolov10 解决了什么问题? 实时目标检测是计算机视觉领域的研究焦点,目的是以较低的延迟准确地预测图像中各物体的类别和坐标。它广泛应用于自动…

【JMU】21编译原理期末笔记

本拖延症晚期患者不知不觉已经有半年没写博客了,天天不知道在忙什么。 乘着期末周前赶紧先把编译原理上传了,我记得我这科是86分,有点小遗憾没上90,但是总体不错。 链接:https://pan.baidu.com/s/1gO8pT7paHv1lkM_ZpkI…

JVM学习-Class文件结构①

字节码文件的跨平台性 Java语言:跨平台的语言(Write Once,Run Anywhere) 当Java源代码编译成字节码后,如果想在不同平台上运行,则无须再次编译这上优势不再那么吸引人,Python,PHP,Ruby,Lisp等有强大的解释器跨平台似乎已经成为一…

《最新出炉》系列入门篇-Python+Playwright自动化测试-41-录制视频

宏哥微信粉丝群:https://bbs.csdn.net/topics/618423372 有兴趣的可以扫码加入 1.简介 上一篇讲解和分享了录制自动生成脚本,索性连带录制视频也一股脑的在这里就讲解和分享了。今天我们将学习如何使用Playwright和Python来录制浏览器操作的视频&#…

删除有序数组中的重复项-力扣

本题的解题思路同样是使用快慢指针对数组进行操作&#xff0c;代码如下&#xff1a; class Solution { public:int removeDuplicates(vector<int>& nums) {int fastindex 1;int slowindex 0;for(fastindex; fastindex < nums.size(); fastindex){if(nums[fasti…

Overleaf中出现文字越界、越下届、没有正确分页、换页的原因和解决方法

在使用overleaf中&#xff0c;我偶尔会遇到如标题所说的情况&#xff0c;也如图所示&#xff1a; 后来发现&#xff0c;是因为这一页前面是一个表格&#xff0c;所以怀疑是表格的格式导致的。所以让chatgpt帮我更换了表格的格式&#xff0c;成功解决问题。 对于问题可能的成因…

Exel 求某行数最大值

方法1 MAX&#xff08; 选中比较数回车

伪css的处理方式

import re # 正则表达式模式&#xff0c;匹配以 cl 开头&#xff0c;后跟任意数字&#xff0c;然后是 a::before pattern_cl8 r(cl8)\sa::before # 在源码中查找匹配项 matches_cl8 re.findall(pattern_cl8, page_source, re.IGNORECASE) # 如果找到 cl8 a::before&#…

从感知机到神经网络

感知机 一、感知机是什么二、用感知机搭建简单逻辑电路2.1 与门2.2 与非门2.3 或门 三、感知机的局限性3.1 异或门3.2 线性和非线性 四、多层感知机4.1 已有门电路的组合4.2 Python异或门的实现 五、感知机模型5.1 感知机模型5.2 感知机损失函数5.3 感知机学习算法 六、感知机原…

富文本编辑器与 Markdown 编辑器的区别与相同点

富文本编辑器与 Markdown 编辑器的区别与相同点 ​ 富文本编辑器和 Markdown 编辑器都是用于创建文本内容的工具&#xff0c;但它们在工作方式、功能和适用性方面存在一些关键差异。 相同点 文本编辑: 两种编辑器都允许用户创建和编辑文本内容&#xff0c;包括基本的文本格式…

对澳洲后端软件工程工作一些术语分析

以下摘自Seek(澳洲求职网站)上一份软件工程师招聘的工作描述job description, 找工作很重要的一件事就是了解求职的公司要求requirement。本章是对这份工作描述的分析&#xff0c;和term的笔记 Job Description What you can bring to the team: • Minimum 5 years of Back…

使用Pyecharts构建Map对象无法显示颜色--解决

我们在做数据可视化的过程中&#xff0c;可能需要使用到地图作为数据可视化的工具&#xff1b; 包括世界地图、国家地图、省市区地图等&#xff1b; 如果在你设置好颜色数据匹配后&#xff0c;可视化地图未显示对应数据的颜色&#xff0c;那么请检查是否出现以下情况&#xf…

安全分析[1]之网络协议脆弱性分析

文章目录 威胁网络安全的主要因素计算机网络概述网络体系结构 网络体系结构脆弱性分组交换认证与可追踪性尽力而为匿名与隐私对全球网络基础实施的依赖无尺度网络互联网的级联特性中间盒子 典型网络协议脆弱性IP协议安全性分析IPSec&#xff08;IP Security)IPv6问题 ICMP协议安…

宝石收集,tarjan

0宝石收集 - 蓝桥云课 (lanqiao.cn) nint(input()) s0input() mint(input()) mp[[] for i in range(n1)] for i in range(m):a,bmap(int,input().split())a1b1mp[a].append(b)import sys sys.setrecursionlimit(100000000) dfn[0 for i in range(n1)] low[0 for i in range(n1…

HTML与CSS的学习

什么是HTML,CSS&#xff1f; HTML(HyperText Markup Language):超文本标记语言。 超文本:超越了文本的限制&#xff0c;比普通文本更强大。除了文字信息&#xff0c;还可以定义图片、音频、视频等 标记语言:由标签构成的语言 >HTML标签都是预定义好的。例如:使用<a>…

c语言:模拟strlen(三种方法)最全版本

1.计数的方法 #include <stdio.h> #include <assert.h> int my_strlen(const char * str)//const的使用优化 {int count0;assert(str)while(*str){count;str;}return count; } 2.用指针的方法&#xff08;指针-指针&#xff09; #include <stdio.h> #incl…

Visual Studio 的调试(一)

最近事儿很多昂&#xff0c;更新速度相较以往慢了许多&#xff0c;备考六月份的四级&#xff0c;还有学校的期末等等&#xff0c;事儿真的太多啦&#xff0c;所以后面的更新速度也会放慢一点&#xff0c;实在是抽不开身啊诸位&#xff0c;相当抱歉&#xff0c;还望诸君见谅 言…

简述Vue 如何检测数组变化

Vue 2.0 在检测数组变化时&#xff0c;由于 JavaScript 的限制&#xff08;Object.defineProperty 不能直接用于数组元素&#xff09;&#xff0c;它采用了特殊的策略来跟踪数组的变更。以下是 Vue 2.0 检测数组变化的主要方法&#xff1a; 数组方法重写&#xff1a; Vue 重写了…

MySQL大表删除方案

1.问题 在生产环境中&#xff0c;执行大表删除操作时&#xff0c;很容易因为占用了大量io资源导致其他事务被阻塞&#xff0c;最终事务不断堆积导致MySQL挂掉。 2.drop命令 drop命令&#xff0c;MySQL主要干了两件事&#xff1a; 清除buffer pool缓冲&#xff08;内存&…