C++高频考点(四)
1、public、protected、private声明的成员变量有什么特点
- public成员可以通过对象访问,可以被类的成员函数访问,可以被子类访问
- protected成员不能通过对象访问,可以被类的成员函数访问,可以被子类访问
- private成员不能通过对象访问,可以被类的成员函数访问,不可以被子类访问
2、虚函数
虚函数的唯一作用是实现多态,通过基类的指针来操作派生类的成员。
3、虚函数表
如果类中定义了虚函数,那么在对象的实例化过程中,编译器就会生成一个指向虚函数表的指针,所有的虚函数地址都存储在表中。
4、什么函数不能声明为虚函数
- 普通函数
- 构造函数
- 内联函数
- 静态成员函数
- 友元函数
5、构造函数能否是虚函数
不能。因为派生类不能继承基类的构造函数,仅仅是在派生类的构造函数中调用基类的构造函数。构造函数的作用是初始化对象,在对象生成时调用一次,此时还未生产虚函数表,无法查询虚函数。所以没必要将构造函数定义为虚函数。
6、析构函数为什么一般都会写成虚函数
- 如
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式软件面试笔记 文章被收录于专栏
该笔记涵盖嵌入式软件工程师技术面试中的知识点,归纳总结为:C/C++、操作系统、计算机网络、数据结构与算法、linux常用命令等章节。