社区
C++ 语言
帖子详情
C++在底层是怎么实现override的?
wellbeck
2010-10-20 11:53:17
今天面试官问,overload和override是怎么实现的。
我回答,overload是在编译后,该函数名会加上了参数类型作为新的函数名,以实现重载。
然后override,就说了,派生类的覆盖了基类的。但是面试官问,为什么能实现这个功能,这个应该怎么回答?从底层机制回答吗?
...全文
135
8
打赏
收藏
C++在底层是怎么实现override的?
今天面试官问,overload和override是怎么实现的。 我回答,overload是在编译后,该函数名会加上了参数类型作为新的函数名,以实现重载。 然后override,就说了,派生类的覆盖了基类的。但是面试官问,为什么能实现这个功能,这个应该怎么回答?从底层机制回答吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iambic
2010-10-21
打赏
举报
回复
所谓的覆盖有虚函数和非虚函数的区别,要分别来对待。
baihacker
2010-10-21
打赏
举报
回复
第一个是name mangling.
第二个大概说说虚函数表中的项目的设置就行了吧,不用扯更深的。
shexinwei
2010-10-21
打赏
举报
回复
覆盖是在子类中实现虚函数代替了父类中的同名虚函数。
感觉应该理解为类似作用域,内部的实现会隐藏掉外部的实现。
gules
2010-10-21
打赏
举报
回复
既然是问“怎么实现”,那么必然与编译器有关:
1、overload — name mangling;
2、override — vptr vtbl(s);
mstlq
2010-10-21
打赏
举报
回复
推荐看这个……
http://download.csdn.net/source/1787847
luciferisnotsatan
2010-10-21
打赏
举报
回复
去看下 深度探索C++对象模型
taodm
2010-10-21
打赏
举报
回复
楼主还是去找本《深度探索C++对象模型》吧
C++
虚函数的
底层
实现
原理详解
虚函数的
底层
实现
原理详解C/
C++
杂记:虚函数的
底层
实现
原理虚函数的
实现
的基本原理深入虚表结构运行时类型识别(RTTI)与动态类型转换原理 C/
C++
杂记:虚函数的
底层
实现
原理 虚函数的
实现
的基本原理 1. 概述 简单地...
C++
STL deque 容器
底层
实现
原理(深度剖析)
实现
:
C++
多态性主要是通过虚函数
实现
的,虚函数允许子类重写
overr
ide
(注意和overload的区别,overload是重载,是允许同名函数的表现,这些函数参数列表/类型不同)。目的:接口重用。封装可以使得代码模块化,继承...
C++
动态多态
实现
底层
逻辑
在
C++
中,动态多态是通过虚函数(Virtual Function)和运行时类型识别(Run-time Type
Ide
ntification, RTTI)来
实现
的。虚函数是在基类中声明的函数,在派生类中可以被重写(
Overr
ide
),并且通过基类指针或引用调用时,...
【
C++
】一文理清
overr
ide
,overload,overwrite
在平时的工作交流中,有很多
C++
程序员对它们的概念模糊不清,经常误用或者混用这3个概念,所以在说明
overr
ide
说明符之前,我们先梳理一下三者的区别。
C++
基础知识及相关
底层
汇编
实现
(更新中)
C++
基础
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章