C++基础---虚函数 3.25

1. 什么是虚函数、纯虚函数?
2. 什么函数不能声明为虚函数,析构为什么要声明为虚函数?
3. 没有虚函数的话,C++如何实现多态
4. 同一个类的不同对象的虚函数表是同一个吗
5. 基类的虚函数表存放在内存的什么区,虚表指针vptr的初始化时间?
6. 虚函数内部调用非虚函数是调用指针类还是对象类?
7. 纯虚函数?使用场景有哪些?
8. 纯虚继承解决什么问题?

1. 虚函数是在面向对象编程中用于实现动态多态特性的机制;通过将基类的成员函数声明为虚函数,可以在派生类中重写这些函数,从而根据对象的实际类型确定调用函数版本;纯虚函数是一个在基类声明的虚函数,但没有在基类中提供实现。通过在函数声明的结尾使用=0来标记;

2. 构造函数:因为在对象构建之前还未创建虚函数表;静态函数:静态函数没有this指针,与对象无关,不能声明为虚函数;内联函数:虚函数可以是内联的,但是当虚函数表现为多态的时候不可以是内联,因为内联是发生在编译期间的,而动态是发生在运行状态;析构函数可以是虚函数,而且建议都这么做,当将基类中的析构函数声明为虚函数的时候,在执行析构的时候,可以确保派生类的析构函数也被执行;

3.  使用函数指针,使用模版(在编译时实现多态),使用策略模式(运行在运行时选择算法和行为);

4. 同一个类的不同对象的虚函数表是相同的,因为虚函数表是按类生成的,而不是按对象生成的。每个对象的虚函数指针指向类的虚函数表,从而实现多态调用;

5. 存储在常量区(只读数据段),vptr的初始化发生在对象的构造函数被调用时;

6. 当一个虚函数内部调用一个非虚函数时,调用的是指针类型所指向的类中的函数,而不是对象实际类型的类中的函数;

7. 纯虚函数是C++中用于定义抽象基类的工具。一个包含纯虚函数的类被称为抽象类,不能被实例化。纯虚函数的目的是让基类定义一个接口,而不提供具体的实现,具体的实现由派生类来完成。场景:定义通用接口、实现多态、延迟绑定;

8. 纯虚继承(也称为虚继承)是C++中用于解决多重继承带来的某些问题的一种机制。以下是纯虚继承主要解决的问题:解决函数调用的歧义,避免成员变量的重复,解决菱形继承中的重复继承问题(菱形继承是指一个派生类从两个基类派生,而这两个基类又有一个共同的基类。如果不使用纯虚继承,派生类会从两个基类各集成一份共同基类的成员,导致重复继承和访问歧义;纯虚函数继承确保派生类只继承一份共同基类的成员);
全部评论

相关推荐

韶音科技-嵌入式面经韶音给我的感受还是很不错的,分享一手面经一面-hr面-30分钟主要聊聊家常,问题都比较常规吧,真诚回答就行二面-专业面-30分钟自我介绍想聊一聊哪个项目?项目是如何进行通信的?有哪些措施来保证数据的可靠性?讲一讲CRC校验讲一讲你了解的linux操作系统项目能实现哪些功能?多线程开发需要注意些什么?遇到哪些困难?为什么选择嵌入式开发方向?反问三面-专业面-30分钟自我介绍项目介绍介绍一下Linux操作系统线程和进程的区别,分别是怎么通信的用户空间和内核空间的访问方式内存映射的适应场景?内存映射可能出现什么问题?自旋锁和互斥锁的概念是什么对epoll的理解EMMC读写是怎么用的?手撕:一道简单链表题(口述思路)反问战略和营销很多HC!韶音科技25届补招内推启动拉!!!深圳市韶音科技有限公司(简称“韶音科技”)创立于2004年,是一家专注于电、声产品研发、设计、生产和营销的专精特新重点“小巨人”企业。还有大量需求!使用内推码简历优先筛选,有任何问题包括进度查询可以私信我,内推后在评论区留言【姓名缩写+岗位】,方便捞人和确认投递状态研发,营销,供应链,财务,法务,专利,人资,IT,设计超多米哈游岗位近7年营收增长超百倍的科技公司等你加入!【内推链接】https://app.mokahr.com/m/campus-recruitment/aftershokzhr/36940?recommendCode=DSe1vF9A&hash=%23%2Fjobs#/jobs【内推码】DSe1vF9A(内推简历有免笔试的机会!)使用内推码简历优先筛选,有任何问题包括进度查询可以私信我,内推后在评论区留言【姓名缩写+岗位】,方便捞人和确认投递状态 #春招#                                           #内推#                                           #内推码#                                           #秋招#                                           #韶音科技#                                           #牛客创作赏金赛#                       
点赞 评论 收藏
分享
评论
4
14
分享

创作者周榜

更多
牛客网
牛客企业服务