当前位置: 首页 > news >正文

C++面试

C++面试

c++面试100题

1、封装多态继承

2、数据集合

3、

4、便于外部文件访问

5、只能通过对象访问

6、通过类名

7、构造函数、析构函数、拷贝构造函数、拷贝复制函数

8、将一个对象复制给新建的对象

9、没有返回值

10、类的对象中有指针,防止多个指针指向同一块内存

11、

12、类成员是const类型、类成员是引用?

13、用const修饰的对象,只能访问const函数,不能访问类的普通成员函数

14、只能在一个编译单元中使用

15、通过对象访问成员函数,函数访问非公有成员

16、被abstract修饰的类。抽象类不能实例化,只能被子类继承,子类可以实例化。【类中只有抽象函数的类叫做抽象类。抽象类不能实例化,只能被子类继承,子类可以实例化。】

17、实现类对象的运算符操作

18、【. -> ::】

19、友元

20、使用友元。

21、复制运算符简单拷贝,没有涉及内存拷贝。拷贝构造函数可以对内存进行拷贝

22、删除对象。局部类对象变量释放内存。

23、通过静态变量

24、友元对象可以访问类的私有成员

25、初始化列表的初始化顺序

26、

27、public、protected、private

28、前面指向的内存内容不能更改,可以更改指针指向的内存地址。后面指针指向的地址不能更改,地址对应内存里的内容可以更改。

29、是的

30、两个函数同名,实现函数功能不同,叫做函数重载。虚函数父类和子类函数同名,子类同名函数实现不同功能。区别在于,函数重载在同一个类中。虚函数是在基类和派生类中。

31、可以。类可以实现多种重载

32、将函数声明成静态函数。

33、前面加virtual

34、对

35、对

36、

37、是指针的大小。类占据一个内存空间

38、前面删除一个数据类型的内存。后面删除一段连续的内存

39、需要。构造子类时会构造一个父类对象。

40、优点:减小代码规模。

41、栈先进后出。栈在cpu内存中,资源少,执行速度快。堆在外部内存中,资源多。

42、类的构造函数在声明类的时候被调用。类的析构函数在对象资源被什邡市调用。都是自动调用的。

43、

44、可以根据需要实现特定的功能

45、虚拟函数可以在派生类中被实现其他函数功能。普通函数不能在派生类函数中被实现其他功能。内联函数不能被声明为虚函数。构造函数不能被声明为虚函数。不然可能出现父类对象没有被实例化,就实例化子类对象。

46、先调用构造函数后调用析构函数。当在释放派生类对象时,先执行基类的析构函数。如果析构函数不是虚函数,则子类对象资源不能被释放。

47、类的普通成员函数和友元函数

49、在构造函数中初始化和使用初始化列表初始化

50、被常引用修饰的变量或者对象不会被更改时可以使用常引用。使用常引用避免内存拷贝,消耗资源。

51、引用是变量的别名。指针一个指向的是内存的地址的变量。

52、

54、全局变量在数据区中,在堆中。局部变量在站中,局部变量在使用前需要初始化。

55、栈溢出原因,局部变量申请特别大的空间。堆溢出:申请的资源没有释放

56、构造函数

57、

58、浮点型

59、使用引用符号

60、C语言使用宏定义。c++使用内联函数

61、不是

62、是指针的大小。类占据一个内存空间

63、数组名是常量指针,不能被更改或执行++操作。指针变量可以被更改或执行++操作。数组名和指针都可以指向同一片内存。

64、按值传递、按指针传递、按引用传递

65、栈上分配和堆上分配

66、在C++语言中使用extern "C"修饰C代码,可以使C代码按照C语言方式编译。实现C代码和C++代码的联合编译。

67、

68、

69、

70、#include <>是从优先从系统文件中查找文件 #include ""是优先从工程文件中查找文件

71、

72、

73、宏只是简单替换,注意副作用

74、数组在做函数实参的时候会转变为什么类型,写错了吧,应该是数组在做函数形参的时候会转变为什么类型。会转变成指针类型。

75、

76、1个、4个、4个、8个

77、strcpy只能拷贝字符串,字符串需要’\0’结束符。memcpy可以拷贝字符串和内存。

78、define定义宏

79、字符常量没有结束符。字符串常量有结束符。sizeof长度相差1个。

80、全局变量优点全局可以访问。缺点:代码没有高内聚,低耦合。

81、static应用,修饰函数,该函数只能在该编译单元中被访问,作用:避免被其他文件访问到。

​ static修饰变量,变量为局部变量,会被编译器自动初始化。作用:不会被其他文件访问到。

82、const修饰函数。const在函数头修饰,返回的数据是不能被修改的。

​ const在函数尾。函数形参是不能被更改的。另外可以变成重载函数。

const修饰变量。修饰变量,该变量不能被修改。

const在类中修饰成员函数。const函数不能访问类的成员变量和成员函数。

类的成员函数可以访问const函数。

const修饰对象。该对象只能访问类的const函数

83、指针是指向内存地址的变量。可以使用指针访问内存。指针指向资源被释放后需要被置为空指针。指针可以为空指针。

84、常指针指的是使用const修饰的指针。指向常变量的指针形式为const *p,指向的变量不能被修改;可以指向其他内存。

85、函数指针是指向函数的指针。指针函数是返回类型为指针的函数。

87、debug版本用于调试,可以输出调试信息。release版本用于发布,会被优化。

88、1、指针传入函数,可以在函数中被修改值。2、传参避免传入整个数据,只传入数据的地址,避免大量拷贝。3、指针指向函数,实现指针调用不同函数。

89、static函数只能在当前编译单元中被访问。普通函数可以被其他编译单元访问

90、union会将变量成员按照字节对齐。

91、class中成员可以设置访问权限,struct中成员都是公共权限。

92、枚举类型中的数据类型为int型。

93、判断,当括号中为假时,程序停止抛出异常。

94、不可以,除非局部变量在单独的作用域中。

96、占用内存资源多的对象和变量传递时,避免数据拷贝消耗资源,需要使用引用。并且数据或对象不想被修改时,使用常引用。

97、分开便于函数被其他编译单元访问

98、

99、

100、智能指针不需要手动释放

101、

102、虚函数、派生类

103、

104

http://www.xdnf.cn/news/5095.html

相关文章:

  • 【HDFS入门】HDFS核心配置与优化指南概述
  • 【Python学习笔记】Pandas实现Excel质检记录表初审、复核及质检统计
  • webgl入门实例-08索引缓冲区的基本概念
  • 杂记-LeetCode中部分题思路详解与笔记-HOT100篇-其三
  • 二分查找-LeetCode
  • 代码学习总结(三)
  • 算法5-16 对二进制字符串解码
  • 多 Agent 协作怎么整:从谷歌A2A到多Agent交互方案实现
  • STL简介(了解)
  • 【无标题】
  • Qt核心知识总结
  • 第六章:6.3求一个3*3的整型矩阵对角线元素之和
  • ESP32-idf学习(二)esp32C3作服务端与电脑蓝牙数据交互
  • 机器学习有多少种算法?当下入门需要全部学习吗?
  • vscode+keil嵌入式软件开发全流程
  • C++笔记-list
  • 【已更新】2025华中杯C题数学建模网络挑战赛思路代码文章教学数学建模思路:就业状态分析与预测
  • 06-DevOps-自动构建Docker镜像
  • 动态规划专题5:最长上升子序列
  • LeetCode hot 100—括号生成
  • 数据中台(大数据平台)之数据质量管理
  • 3.Rust + Axum 提取器模式深度剖析
  • 【Python Cookbook】迭代器与生成器(一)
  • 【Qt】初识Qt(一)
  • Oracle 12.1.0.2补丁安装全流程
  • FPGA阵列
  • ZStack文档DevOps平台建设实践
  • 设计模式每日硬核训练 Day 14:组合模式(Composite Pattern)完整讲解与实战应用
  • 基于Django实现的图书分析大屏系统项目
  • Linux 常用命令总结