#技术岗面试题求解#浅试一下,override和overload的区别,如果子类不override会发生什么,编译器怎么实现的多态
全部评论
override和overload的区别在于,override是指子类重写父类的方法,方法名、参数列表和返回值类型都必须与父类方法相同,而overload是指在同一个类中,方法名相同但参数列表不同的多个方法。 如果子类不override父类的方法,则子类将继承父类的方法,即使用父类的方法。 编译器实现多态的方式是通过虚函数表(vtable)和虚函数指针(vptr)来实现的。当一个类中包含虚函数时,编译器会为该类生成一个虚函数表,其中存储了该类中所有虚函数的地址。同时,编译器会在该类的对象中添加一个虚函数指针,指向该对象所属的类的虚函数表。当调用一个虚函数时,编译器会通过虚函数指针找到该对象所属的类的虚函数表,并根据函数名在虚函数表中查找对应的函数地址,然后调用该函数。这种方式可以实现动态绑定,即在运行时根据对象的实际类型来确定调用哪个函数,从而实现多态。
4 回复 分享
发布于 2023-03-31 12:24 AI生成
这是你面试时被问到的问题?
点赞 回复 分享
发布于 2023-04-01 09:15 湖北

相关推荐

FOX2003:还没学后端框架吧,看你第一个项目用的mockjs。第一个项目太老而且可能是从github上扒的(我的课设就是这个),第二个主要依靠AI的能力,而且前端项目找前端实习的话,留个github地址好点,主要还是前端要求越来越高了。另外,去***看看,符合就投,boss投的多,HR工作量就大,没功夫多聊
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-21 11:29
已编辑
斯卡蒂味的鱼汤:知道你不会来数马,就不捞你😂最近数马疯狂扩招,招聘要求挺低的,你能力肯定够,应该就是因为太强了,知道你不会来才不捞你
投递腾讯云智研发等公司7个岗位
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务