问答媒体

 找回密码
 立即注册
快捷导航
搜索
热搜: 活动 交友 discuz
查看: 75|回复: 0

C/C++ 常见1000道面试题( 111 )

[复制链接]

2

主题

7

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2023-3-30 17:33:05 | 显示全部楼层 |阅读模式
901.C++中类成员的作用域

(1)类成员的作用域只在类的内部,外部无法直接访问
(2)成员函数可以直接访问成员变量和调用成员函数
(3)类的外部可以通过类变量访问 public 成员
(4)类成员的作用域与访问级别没有关系。(注意 C++中用 struct 定义的类中所有成员默认为 public,而 class 定义的类成员的默认属性为 private)
902.C++中类的关键字

(1)struct 在 C 语言中己经有了自己的含义,必须继续兼容
(2)在 C++中提供了新的关键字 class 用于类定义
(3)class 和 struct 的用法完全相同。但 C++中用 struct 定义的类中所有成员默认访问级别为 public,而 class 定义的类成员的默认访问级别为 private
903.C++中类声明和实现的分离

(1).h 头文件只用类的声明:成员变量和成员函数
(2).cpp 源文件中完成类的其它实现(如成员函数的实现)
904.C++中的命名空间

C++中命名空间概念用于解决名称冲突问题
(1)在 C 语言中只有一个全局作用域
​ ①C 语言中所有的全局标识符共享同一个作用域
​ ②标识符之间可能发生冲突
(2)C++中提出了命名空间的概念
​ ①命名空间将全局作用域分成不同的部分
​ ②不同命名空间中的标识符可以同名而不会发生冲突
​ ③命名空间可以相互嵌套
​ ④全局作用域也叫默认命名空间
(3)C++命名空间的定义:namespace Name {}
​ ①使用整个命名空间:using namespace name;
​ ②使用命名空间中的变量:using name::variable;
​ ③使用默认命名空间中的变量: ::variable
905.C和C++相互调用

(1)C++编译器能够兼容 C 语言的编译方式
(2)C++编译器会优先使用 C++编译的方式
(3)extern 关键字能强制 C++编译器进行 C 方式的编译
906.函数重载的定义、条件、注意事项

1.函数重载(overload)的概念
(1)用同一个函数名定义不同的函数
(2)当函数名和不同的参数搭配时,函数的含义不同
2.重载的条件:必须至少满足下面的一个条件
①参数个数不同
②参数类型不同
③参数顺序不同
3.函数重载的注意事项
①重载函数在本质上是相互独立的不同函数。
②重载函数的函数类型不同
③函数的返回值不能作为函数重载的依据
④函数重载是由函数名和参数列表共同决定的。
907.C++中 inline 内联编译的限制

(1)含有递归调用的函数不能设置为 inline
(2)使用了复杂流程控制语句:循环语句和 switch 语句,无法设置为 inline(说明:如上述实例,在 VS2013 下,循环语句是可以被内联的)
(3)函数体不能过于庞大
(4)不能对函数进行取址操作
(5)函数内联声明必须在调用语句之前.
908.内联函数的定义和特点

内联函数的定义
(1)C++编译器可以将一个函数进行内联编译,被 C++编译器内联编译的函数叫内联函数。
(2)C++中使用 inline 关键字声明内联函数
(3)内联函数声明时 inline 关键字必须和函数定义结合在一起,否则编译器会直接忽略内联请求。
内联函数的特点
(1)C++编译器直接将内联函数的函数体插入到函数调用的地方
(2)内联函数没有普通函数调用时的额外开销(压栈、跳转、返回)
(3)C++中推荐使用内联函数替代宏代码片段。
(4)C++编译器也不一定满足函数的内联请求。
909.C++引用的意义

(1)功能性:引用在大多数情况下代替指针,可以满足需要使用指针的场合
(2)安全性:可以避开由于指针操作不当而带来的内存错误
(3)操作性:简单易用,又不失功能强大
910.C++引用的本质

(1)引用在 C++中的内部实现是一个常量指针,因此引用所占用的空间大小与指针相同。
(2)从使用的角度,引用只是一个别名,C++为了实用性而隐藏了引用的存储空间这一细节。
①在编译过程中,编译器看到 int& a 的声明就会转换为 int* const a;
②看到使用引用时,会转为*a,如此隐藏了使用指针的事实。
1000道c/c++经典面试题PDF,进官方交流群获取




—————————————Linuxc/c++高性能服务器开发网官方3群—————————————–
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver| 手机版| 小黑屋| 问答媒体

GMT+8, 2025-7-13 17:53 , Processed in 0.081354 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2020, LianLian.

快速回复 返回顶部 返回列表