11道C++常见面试题以及答案(2022)

目录

一、面试问题

二、面试问题以及参考答案


一、面试问题

1.引用有什么特点?

2.什么是函数重载?

3.什么是构造函数?

4.什么是析构函数?

5.什么是拷贝构造函数?

6.const关键字的特点?

7.static关键字的特点?

8.实现动态多态需要具备什么条件?

9.C++中哪些运算符不能重载?

10.C++中Heap(堆)和Stack(栈)的区别是什么?

11.C++中有没有纯虚构造函数?

二、面试问题以及参考答案

1.引用有什么特点?
参考答案:
1.引用不占用内存空间,与引用的对象共用空间,引用必须初始化。
2.引用与引用对象的类型必须一致。
3.一个引用只能引用一个对象,一个对象可以被多次引用,一个引用可以被另一个引用引用。

2.什么是函数重载?
参考答案:
在同一个作用域内,函数名称相同,函数参数列表不同。

3.什么是构造函数?
参考答案:
构造函数是类的成员函数,函数名与类相同,函数没有返回值(返回值也不能是void),函数在创建类对象时自动调用(初始化操作),如果没有自定义构造函数系统会自己生成一个不带参数的构造函数。

4.什么是析构函数?
参考答案:
析构函数是类的成员函数,函数名称是类名称前面再加~,函数没有返回值(返回值也不能是void),在对象销毁时自动调用。

5.什么是拷贝构造函数?
参考答案:
拷贝构造函数也是类的成员函数,函数的参数就是这个类对象的引用,如果没有自定义拷贝构造函数系统会默认生成一个(浅拷贝),如果自定义了,系统就不再生成。

6.const关键字的特点?
参考答案:
1.const修饰的变量不能被修改。
2.const修饰的变量必须定义时就初始化。

7.static关键字的特点?
参考答案:
1.修饰全局变量时,该变量只能在同一文本内使用。
2.修饰局部变量时,该变量的值不会因为函数的终止而丢失。
3.修饰函数时,该函数只能在同一文本被调用。
4.修饰类的成员函数时,该成员函数被该类的所有对象共享数据。

8.实现动态多态需要具备什么条件?
参考答案:
1.虚函数。
2.继承。
3.父类指针指向子类对象。
4.弗雷指针访问虚函数。

9.C++中哪些运算符不能重载?
参考答案:
1 .(成员访问运算符)
2 .*(成员指针访问运算符)
3 ::(域运算符)
4 sizeof关键字
5 ?:(条件运算符)

10.C++中Heap(堆)和Stack(栈)的区别是什么?
参考答案:
Heap是堆,Stack是栈。Stack的空间由操作系统自动分配/释放,Heap上的空间是由程序员手动分配和释放的。Stack空间有限,Heap是很大的自由存储区。

11.C++中有没有纯虚构造函数?
参考答案:
没有,构造函数不能是虚的,只能有虚的析构函数。

你可能感兴趣的:(C++,c++,面试)