嵌入式八股 - C++ 二

博主是26届校招生,接受过京东、阿里、字节、科大讯飞、海康威视、正浩创新、奥比中光、商汤科技、中国航信、汇川技术、CVTE、美的、格力、亿道、康冠科技、9号公司、猿辅导、中科曙光、中航光电、郑煤机、国家能源等公司的面试。获得过郑煤机、亿道、格力、CVTE、阿里、科大讯飞以及一些国企的offer。现在把所有面试遇到问题进行汇总,希望能够帮到大家!

主要是高频面试汇总!

11、什么是内联函数?

内联函数需要inline关键字进行修饰,其和普通函数没什么大区别,其就是把经常调用的功能封装成了一个函数。在后续调用时,可以直接将函数体插入调用的地方,而避免函数调用的开销。

注意:内联函数适用于频繁调用但函数体很小的情况

12、什么是友元函数?

友元的目的就是让一个函数或者类访问另一个类中私有成员,友元的关键字为 friend。

分类:

  • 友元函数(友元全局函数)
  • 友元类
  • 友元成员(友元成员函数)

13、介绍下虚函数?

虚函数是C++中实现多态的重要方式(通过virtual 修饰),其允许在派生类中重写基类的函数,并确保当通过基类指针或引用调用该函数时,程序能根据对象的实际类型来执行相应的函数。

虚函数使用的核心目的是通过基类访问派生类定义的函数

虚函数实现多态的三个必要条件:

  • 继承关系:必须存在派生类和基类。
  • 虚函数声明:基类中的函数必须用 virtual 关键字声明。
  • 基类指针/引用调用:必须通过基类的指针或引用来调用该虚函数。

虚函数的实现有两个比较重要的知识:虚函数表与虚表指针

  • 虚函数表:每个包含虚函数的类都会有一张虚函数表,其内存储着类所有虚函数的地址。如果派生类重写了某个虚函数,表中对应的条目就会被替换为派生类的函数地址。
  • 虚表指针 :每个包含虚函数的类的对象都会有虚表指针,其指向所属类的虚函数表。

14、什么是纯虚函数,与虚函数区别?

纯虚函数是一种特殊的虚函数,其在基类中只有声明而没有具体的实现。

包含纯虚函数的类是抽象类,其只能作为基类被继承,而不能实例化对象。其形式如下:

virtual void func() = 0;

两者区别:

  • 实现方式:虚函数需要在函数前面加上virtual,而纯虚函数还需要在后面加上= 0
  • 有无实现:虚函数可以有默认实现,而纯虚函数只能声明没有默认实现
  • 是否重写:虚函数在派生类中可重写也可不重写,而纯虚函数在派生类中必须重写,否则也是个抽象类
  • 是否可实例化:只包含虚函数的类能实例化对象,而纯虚函数的类不能实例化对象。

15、函数重载是什么?

函数重载是指在同一个作用域内定义多个同名函数,只要它们的参数列表不同即可。

参数列表不同情况:

  • 参数类型不同
  • 参数个数不同
  • 参数类型顺序不同

注意:返回值类型不同不能作为重载标准!

16、C++实现多态的方式?

  • 静态多态:函数重载、函数模板
  • 动态多态:虚函数

17、重载、覆盖、隐藏区别?

  • 函数重载是指在同一个作用域内定义多个同名函数,只是其参数列表不同。
  • 覆盖(重写)则是指在继承时,在派生类中重新定义基类的虚函数。(不同作用域下)
  • 隐藏指在继承中,派生类定义了与基类同名的函数,不管参数是否相同,只要不构成重写,基类的同名函数就会被隐藏。(不同作用域下)

18、哪些函数不能是虚函数?

  • 构造函数。虚函数的调用依赖于对象内部的虚表指针,而 虚表指针是在构造函数执行期间才被初始化
  • 静态成员函数。虚函数是基于对象的,它通过 this 指针来访问对象的虚表指针。而静态成员函数是属于类本身的,不属于任何特定对象,因此它没有 this 指针。
  • 全局函数。本身就不是类成员,不支持多态。
  • 友元函数。本身不支持继承。

注意:内联函数可做也可不做虚函数,建议不做。

19、哪些函数可以是虚函数?

  • 普通成员函数。最常用的,使用virtual 声明即可。
  • 析构函数。

20、为什么析构函数往往是虚函数?

当通过基类指针删除一个派生类对象时,如果基类析构函数不是虚函数,则只会调用基类的析构函数,导致派生类部分的资源无法被正确释放,从而引发内存泄漏。声明为虚函数后,程序会在运行时正确地先调用派生类的析构函数,再调用基类的析构函数。

#嵌入式笔面经分享##嵌入式八股##嵌入式面试##嵌入式##我的求职进度条#
嵌入式面试八股汇总 文章被收录于专栏

涉及嵌入式全方面知识。根据个人学习以及面试所得,并且加上自己见解、理解记忆方法。 大致内容:C、C++、ARM、QT、Linux驱动、FreeRTOS、Linux应用编程、数据结构、操作系统、计算机网络、算法以及其他嵌入式相关内容。

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

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