没有合适的资源?快使用搜索试试~ 我知道了~
52_虚函数可以声明为inline吗1
需积分: 0 0 下载量 89 浏览量
2022-08-03
11:51:31
上传
评论
收藏 422KB PDF 举报
温馨提示
试读
2页
class Derived :public Base {//从语法上讲,这可以写成inline,只是当基类指针调派类时,不能内联,编译器会动忽略掉inline/
资源详情
资源评论
资源推荐
问
题
虚
函
数
可
以
声
明
为
inline
吗
?
内
联
函
数
(
inline
)
内
联
函
数
的
作
⽤
是
提
⾼
函
数
执
⾏
的
效
率
,
在
程
序
中
的
每
个
调
⽤
点
将
函
数
体
展
开
,
⽽
不
是
按
照
通
常
的
函
数
调
⽤
机
制
取
调
⽤
,
从
⽽
减
少
调
⽤
函
数
花
费
的
额
外
开
销
。
内
联
函
数
有
⼀下⼀
些
特
点
:
●
定
义
在
class
内
的
成
员
函
数
默
认
是
inline
函
数
(
虚
函
数
除
外
)
●
通
常
只
有
函
数
⾮
常
短
⼩
的
时
候
(
如
10
⾏
代
码
内
)
才
适
合
定
义
成
inline
函
数
,
否
则
会
导
致
程
序
变
慢
●
头
⽂
件
中不
仅
要
包
含
inline
函
数
的
声
明
,
还
要
包
含
其
定
义
,
⽅
便
编
译
器
查
找
。
●
(
缺
点
)
inline
函
数
会
增
加
执
⾏
⽂
件
的
⼤
⼩
。
虚
函
数
可
以
声
明
为
inline
吗
?
可
以
,
但
是
只
在
编
译
器
知
道
调
⽤
的
对
象
是
哪
个
类
型
的
时
候
才
可
以
。
虚
函
数
⼀
般
不
能
声
明
为
inline
的
,
因
为
inline
函
数
是
在
编
译
期
将
函
数
内
容
替
换
到函
数
调
⽤
处
的
,
是
静
态
编
译
的
。
⽽
当
基
类
指
针
或
引
⽤
来
调
⽤
虚
函
数
时
,
不
能
声
明
为
inline
,
因
为
虚
函
数
是
在
运
⾏
时
动
态
调
⽤
的
,
编
译
器
并
不
知
道
它
绑
定
的
是
哪
个
对
象
。
借
助
下
⾯
的
代
码
来
理
解
上
⾯
的
两
种
情
况
:
参
考
资
料
C++
内
联
函
数
能
否
是
虚
函
数
?
class Base {
public:
inline virtual void who() { cout << "I am Base\n"; }
};
class Derived :public Base {
public:
//
从
语
法
上
讲
,
这
⾥
可
以
写
成
inline
,
只
是
当
基
类
指
针
调
⽤
派
⽣
类
时
,
不
能
内
联
,
编
译
器
会
⾃
动
忽
略
掉
inline
inline void who() { cout << "I am Derived"; }
};
int main() {
Base b;
b.who(); //
这
⾥
的
who()
是
通
过
基
类
对
象
直
接
调
⽤
的
,
在
编
译
期
间
就
确
定
了
,
因
此
它
可
以
是
内
联
的
Base *p = new Derived();
p->who(); //
通
过
基
类
的
指
针
调
⽤
,
在
运
⾏
时
才
能
确
定
,
所
以
不
能
内
联
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
余青葭
- 粉丝: 37
- 资源: 303
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0