笔试面试题——继承和多态

在这里插入图片描述


📘北尘_:个人主页

🌎个人专栏:《Linux操作系统》《经典算法试题 》《C++》 《数据结构与算法》

☀️走在路上,不忘来时的初心

文章目录

  • 一、什么是多态?
  • 二、什么是重载、重写(覆盖)、重定义(隐藏)?
  • 三、 inline函数可以是虚函数吗?
  • 四、静态成员可以是虚函数吗?
  • 五、构造函数可以是虚函数吗?
  • 六、 析构函数可以是虚函数吗?什么场景下析构函数是虚函数?
  • 七、对象访问普通函数快还是虚函数更快?
  • 八、虚函数表是在什么阶段生成的,存在哪的?
  • 九、C++菱形继承的问题?虚继承的原理?
  • 十、什么是抽象类?抽象类的作用?


一、什么是多态?

多态:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。


二、什么是重载、重写(覆盖)、重定义(隐藏)?

在这里插入图片描述


三、 inline函数可以是虚函数吗?

可以,不过编译器就忽略inline属性,这个函数就不再是inline,因为虚函数要放到虚表中去。
普通调用,inline起作用;多态调用,inline不起作用。


四、静态成员可以是虚函数吗?

不能,因为静态成员函数没有this指针,使用类型::成员函数的调用方式无法访问虚函数表,所以静态成员函数无法放进虚函数表。


五、构造函数可以是虚函数吗?

不能,因为对象中的虚函数表指针是在构造函数初始化列表阶段才初始化的。


六、 析构函数可以是虚函数吗?什么场景下析构函数是虚函数?

最好把析构函数定义为虚函数。
父类指针=new 子类对象的时候,析构函数是虚函数。


七、对象访问普通函数快还是虚函数更快?

普通调用,一样快;
多态调用,普通函数快。


八、虚函数表是在什么阶段生成的,存在哪的?

虚函数表示在编译阶段产生的,虚函数指针构造时,才初始化。
存在代码段。


九、C++菱形继承的问题?虚继承的原理?

问题:数据容易和二义性。
原理是通过虚基表来实现的。


十、什么是抽象类?抽象类的作用?

抽象类是类里面存在纯虚函数。
强制重写虚函数,体现了接口继承。


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

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

相关文章

实现将信息作为txt,pdf,图片的形式保存到电脑~

PrintableUtils作为输出信息的工具类: package org.example; import com.itextpdf.text.*; import com.itextpdf.text.Font; import com.itextpdf.text.pdf.PdfWriter; import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; im…

QT发布成exe不能运行解决方案

原因 qt发布成exe后不会把依赖的dll自动拷贝到文件夹中. 解决方案: 输入:windeployqt 拖拉 生产的exe到命令行. 会自动copy依赖到文件夹中: 然后就可以单击运行了!

【温故而知新】HTML5的Video/Audio

文章目录 一、概念二、Video浏览器支持视频格式视频标签 三、Audio浏览器支持音频格式标签 一、概念 HTML5是HTML的最新版本,它引入了许多新的元素和功能,以适应现代网页开发的需求。以下是HTML5的一些主要特点: 新增语义元素:H…

电路原理1-线性电阻

前言:整理笔记基于清华大学于歆杰老师的《电路原理》,电路原理是基于无源负载和电源组成电路的分析方法。 1.基础数学知识 算术:数字之间的运算 代数:用变量和函数来代替数字 微积分:描述函数的累积效应&#xff0…

贝叶斯方法家族

贝叶斯方法 机器学习框架贝叶斯方法贝叶斯和其他推断方法的区别朴素贝叶斯分类五个 NB 分类器 贝叶斯推断马尔科夫-蒙特卡洛方法变分推断隐马尔科夫模型 贝叶斯网络贝叶斯置信网络 贝叶斯深度学习贝叶斯神经网络贝叶斯卷积神经网络贝叶斯图神经网络贝叶斯优化方法 机器学习框架…

Golang 三数之和+ 四数之和 leetcode15、18 双指针法

文章目录 三数之和 leetcode15map记录 失败!超出限制双指针法 四数之和 leetcode18 三数之和 leetcode15 知识补充: map的key值必须是可以比较运算的类型,不可以是函数、map、slice map记录 失败!超出限制 //得到结果后再去重 失…

shell简单截取curl GET返回的body消息体

目录 需求背景: 示例: 解决方式: 需求背景: 用shell解析 curl命令GET到的消息体,获取body消息体里的某个字段的值,只是个简单的示例,可以在此基础上更改满足自己的需求 示例: curl一个API…

纳米软件射频测试系统助力放大器静态参数测试

放大器是可以把输入讯号的电压或功率放大,增加信号幅度的一种装置,可以提高信号质量、增加功率、提高灵敏度等,被应用于通讯、广播、雷达、电视、自动控制等领域。对放大器进行测试是为了确保放大器的性能和稳定性,以保证其可以正…

【Linux】nc 网络诊断 | 文件传输 命令详解

目录 一、命令简介 二、命令使用 2.1 测试服务器 2.2 端口连通性测试 2.2.1tcp端口连通性测试 2.2.2udp端口连通性测试 2.3 文件及目录的传输 2.3.1 文件传输(TCP端口) 2.3.2 文件传输(UDP端口) 相关文章: 【网络】抓包工具Wireshark下载安装和基本使用教…

SpringBoot参数校验@Validated、@Valid

SpringBoot参数校验Validated、Valid(javax.validation) 一、应用场景 在实际开发中,前端校验并不安全,任何人都可以通过接口来调用我们的服务,就算加了一层token的校验,有心人总会转空子,来传…

华为OD机试真题-最小矩阵宽度-2023年OD统一考试(C卷)

题目描述: 给定一个矩阵,包含N*M个整数,和一个包含K个整数的数组。 现在要求在这个矩阵中找一个宽度最小的子矩阵,要求子矩阵包含数组中所有的整数。 输入描述: 第一行输入两个正整数N,M,表示矩阵大小。 接下来N行M列表示矩阵内容。 下一行包含一个正整数K。 下一行包含…

51-JS鼠标,键盘,表单,粘贴板,窗口事件,遍历节点树,DOM操作:创建/添加,删除,替换

1.鼠标事件 1.1双击事件dblclick <button>按钮</button><script>var btn = document.getElementsByTagName("button");// 鼠标快速点击两下// 双击dblclickbtn.ondblclick=function(){console.log("aa");}</script> 1.2鼠标移入…

Linux下安装jdk、tomcat

linux下安装jdk、tomcat 一、linux下安装jdk1.1.下载Linux版本的JDK1.2.Linux安装JDk1.3.设置环境变量1.4.卸载JDK 二、linux下安装tomcat2.1.下载Linux版本的Tomcat2.2.在usr目录下新建tomcat目录2.3.进入到tomcat目录中解压下载的tomcat安装包2.4.配置环境变量-前提是已经安装…

助力工业园区作业违规行为检测预警,基于YOLOv3开发构建工业园区场景下作业人员违规行为检测识别系统

在很多工业园区生产作业场景下保障合规合法进行作业生产操作&#xff0c;对于保护工人生命安全降低安全隐患有着非常重要的作用&#xff0c;但是往往在实际的作业生产中&#xff0c;因为一个安全观念的淡薄或者是粗心大意&#xff0c;对于纪律约束等意思薄弱&#xff0c;导致在…

unity C#什么是线程锁,以及使用案例

文章目录 原理1. **互斥**&#xff08;Mutual Exclusion&#xff09;:2. **缓存一致性与内存屏障**&#xff1a;3. **操作系统的支持**&#xff1a;4. **编程语言级别的实现**&#xff1a;5. **避免死锁**&#xff1a;图示 实例1实例2 原理 线程锁的原理主要是为了在多线程环境…

AI对决:ChatGPT与文心一言的比较

. 个人主页&#xff1a;晓风飞 专栏&#xff1a;数据结构|Linux|C语言 路漫漫其修远兮&#xff0c;吾将上下而求索 文章目录 引言ChatGPT与文心一言的比较Chatgpt的看法文心一言的看法Copilot的观点chatgpt4.0的回答 模型的自我评价自我评价 ChatGPT的优势在这里插入图片描述 文…

centos安装nginx教程

一、准备工作 在开始安装Nginx之前&#xff0c;我们需要先确认你的CentOS版本是否支持Nginx&#xff0c;并确保已具备root权限或具有sudo特权的用户。本教程以CentOS 7为例进行说明。 二、安装依赖项 Nginx的安装需要一些依赖项&#xff0c;我们需要先安装这些依赖项才能进行…

【送书活动七期】CMeet系列 技术生态沙龙:技术人职业交流会·杭州场-转鸿蒙 对应用开发来说是否是职业发展新机会

CSDN致力于促进城市区域内尖端新兴技术开发者交流,提供开放自由的切磋平台。在近期热议的话题中,“华为鸿蒙系统不再兼容安卓应用”的消息成了程序员们广泛关注并引发思考的问题。 因此便有了我们此次的活动探讨议题! 目录 题外话开场简单介绍活动主办方介绍活动话题讨论升职加…

基于若依的ruoyi-nbcio流程管理系统修复自定义业务表单的收回功能

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; https://gitee.com/nbacheng/n…

微信小程序-----全局配置与页面配置

目录 前言 全局配置文件 一、window 1. 小程序窗口的组成部分 2. window 节点常用的配置项 3. 设置导航栏的标题 4. 设置导航栏的背景色 5. 设置导航栏的标题颜色 6. 全局开启下拉刷新功能 7. 设置下拉刷新时窗口的背景色 8. 设置下拉刷新时 loading 的样式 9. 设置…