搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
itrstu
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
Leetcode347. 前 K 个高频元素(C语言)_c语言,前k个高频元素
2
【React】4.事件处理与类组件状态state_state=(state+1)%5
3
利用下标获取指针的数值_取指针的值
4
node.js之响应内容类型Content-type_nodejs 判断文件类型 content type
5
Python链表中环的问题:3种方法判断是否有环,找到入环节点,..._python 关系环 检测
6
常用字符串函数的使用_字符串专用的处理函数1. strion()函数[作用]用于计算字符串的长度(不含0)[格
7
Matlab中绘制概率密度曲线_matlab绘制pdf概率密度函数
8
云原生架构的关键技术
9
【数学建模】基于熵权法对TOPSIS模型的修正+Matlab代码实现_topsis法例题 matlab 代码
10
竞码编程-蓝桥杯模拟赛2(大学生组&青少年组)_一些数字可以颠倒过来看例如0,1,8车牌,请问这个城市
当前位置:
article
> 正文
什么函数不能声明为虚函数?_什么函数不能是虚函数
作者:itrstu | 2024-01-29 16:17:35
赞
踩
什么函数不能是虚函数
在华为、中兴等企业招聘笔试面试中曾经出现过这样一道题目:什么函数不能声明为虚函数?
该题答案为:普通函数(非成员函数)、静态成员函数、内联成员函数、构造函数、友元函数
该题考查的是虚函数声明的相关概念。其解析如下:
虚函数通过继承方式来体现出多态作用,它必须是基类的非静态成员函数,其访问权限可以是protected或public,在基类的类定义中定义虚函数的一般形式是:
virtual 函数返回值类型虚函数名(形参表){ 函数体 }
常见的不能声明为虚函数的有:普通函数(非成员函数)、静态成员函数、内联成员函数、构造函数、友元函数。
(1)普通函数不能声明为虚函数。普通函数(非成员函数)只能被重载(overload),不能被重写(override),声明为虚函数也没有什么意思,因此编译器会在编译时绑定函数。
(2) 构造函数不能声明为虚函数。构造函数一般用来初始化对象,只有在一个对象生成之后,才能发挥多态作用。如果将构造函数声明为虚函数,则表现为在对象还没有生成的时候来定义它的多态,这两点是不统一的。另外,构造函数不能被继承,因而不能声明为虚函数。
(3) 静态成员函数不能声明为虚函数。静态成员函数对于每个类来说只有一份代码,所有的对象都共享这份代码,它不归某个对象所有,所以也没有动态绑定的必要性。
(4) 内联(inline)成员函数不能声明为虚函数。内联函数就是为了在代码中直接展开,减少函数调用开销的代价。虚函数是为了在继承后对象能够准确的执行自己的动作,这是不可能统一的。另外,内联函数在编译时被展开,虚函数在运行时才能动态的绑定函数。
(5) 友元函数不能声明为虚函数。友元函数不属于类的成员函数,不能被继承。
设置虚函数时须注意以下几点:
只有类的成员函数才能说明为虚函数;
静态成员函数不能是虚函数;
内联函数不能为虚函数;
构造函数不能是虚函数;
析构函数可以是虚函数,而且通常声明为虚函数。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/article/detail/43447?site
推荐阅读
article
【VUE疑难解决】:创建项目时卡在
reify
:ajv:
timing
reify
Node:
node
_...
至此再次进行安装和创建项目的操作,好用了。_
reify
:
lodash
:
timing
reify
node
:
node
_mo...
赞
踩
article
Python3
之
写入
Excel
文档(
xlsxwriter
)_
python3
导入
excel
...
一、安装xlwt模块Pythonxx\Lib\site-packages目录下安装命令:pip install xlwt...
赞
踩
article
使用
Pyinstaller
把
FastAPI
项目(
PaddleOcr
文字识别)打包成
exe
文件遇坑汇总...
将FastApi文字识别项目使用
pyinstaller
打包过程中遇到了很多坑,现在把遇到的一些问题总结一下。_pyins...
赞
踩
article
Obje
c
tive
-
c
方法
调用流程...
Obje
c
tive
-
c
方法
调用流程
Obje
c
tive
-
c
是一门动态语言,动态两个字主要就体现在我们调用
方法
的时候,运...
赞
踩
article
创建项目
flink
quickstart
项目_创建
flink
quickstart
...
在workspace中使用
quickstart
脚本clonecurl https://
flink
.apache.org/...
赞
踩
article
解决使用
gi
t
时遇到Failed
t
o
connec
t
t
o
gi
t
hub.com por
t
443...
解决使用
gi
t
时遇到Failed
t
o
connec
t
t
o
gi
t
hub.com por
t
443 af
t
er 210...
赞
踩
article
剑
指
offer
解题
思路
简述总结篇
1
-
1
0
_剑
指
offer
解题
思路
速览...
只记录需要技巧有些许难度的题面试题3,数组中重复的数字方法一:排序后从头开始依次比较相邻的两个是否相等,相等即重复,nl...
赞
踩
article
Linux
文件
管理
(上)...
因为
Linux
中一切皆
文件
,所以在了解了
Linux
基础和会使用一些入门级命令之后,接下来的重点便是
Linux
文件
管...
赞
踩
article
P4775
[
NOI2018
]
情报中心
洛谷黑题
题解
...
P4775
[
NOI2018
]
情报中心
洛谷黑题
题解
P4775
[
NOI2018
]
情报中心
洛谷黑题
题解
...
赞
踩
article
【C++】
list
的
模拟
实现
...
list
是带头双向循环链表,与vector
的
底层结构不一样,vector是连续
的
空间,
list
的
每个节点是独立
的
空间。s...
赞
踩
article
解决 No
active
profile
set,
falling
back
to 1 defaul...
今天,在启动项目时,出现如此错误: No
active
profile
set,
falling
back
to 1 d...
赞
踩
article
分布式
爬虫
scrapy
-
redis
所踩过
的
坑
_
scrapy
_
redis
的
坑...
一、安装
redis
因为是在CentOS系统下安装
的
,并且是服务器。遇到
的
困难有点多不过。1.首先要下载相关依赖首先先检查...
赞
踩
article
牛客周赛
Round
7_
游游
的
you
矩阵
...
算出a和b的差值,分别除以 l 向下取整为maxx和 除以 r向上取整为minn,判断两者大小,如果maxx小于minn...
赞
踩
article
[
go
lang
gin
框架] 9.Gin
GORM
中使用
事务
以及
go
-
ini
加载.
ini
配置文件_...
Gin
GORM
中使用
事务
以及
go
-
ini
加载.
ini
配置文件_
gin
事务
gin
事务
一...
赞
踩
article
go
自定义
包
教程_
go
main
包
可以有其他
package
name
吗...
go
自定义
包
教程而是环境为
go
version
go
1.11 linux/amd64linux mint 19创建一个自...
赞
踩
article
Flink
IDEA
项目创建_
fflink
idea
provide
...
1 创建maven项目创建完成后,项目结构如下图所示:2 添加最低限度的API依赖开发
Flink
程序需要最低限度的API...
赞
踩
article
一、
Selenium
开篇之
PyCharm
安装
selenium
及
浏览器
驱动
_
pycham
驱动
...
如有报错大概率原因是因为
浏览器
与
驱动
版本不符合,可以找一些
浏览器
安装包与
驱动
放在对应位置的链接重新安装
浏览器
,我认为这是...
赞
踩
article
C++
:
C++
全局变量
:
看完还
不
懂
全局变量
来捶我
_
c++
全局变量
...
C++
:
C++
全局变量
:
看完还
不
懂
全局变量
来捶我
_
c++
全局变量
c++
全局变量
我们知道,全...
赞
踩
article
Mybatis
-
plus
动态
条件
查询
QueryWrapper
的使用_
mybatis
querywr...
Mybatis
-
plus
动态
条件
查询
QueryWrapper
的使用_
mybatis
querywrapper
mybat...
赞
踩
article
MQTT
_
Client
实例
Golang
代码_
go
创建
mqttclient
数组...
package testimport ( "fmt" "time"
MQTT
"github.com/eclipse/p...
赞
踩
相关标签
vue.js
前端
javascript
python
fastapi
开发语言
paddle
runtime
移动开发
git
剑指offer
算法
linux
运维
动态规划
c语言
c++
java
软件工程
list
数据结构
spring boot
mybatis
spring