为什么要研究面试题,因为研究题目可以让面试者面试时看起来像个专家。
本博文将给出50个面试题,题目涉及初级、中级、高级。
下面来看下01~10题
01:C++是什么?C++的优势是什么?
C++是一门面向对象语言,它的存在的目的是为了克服C语言的短板。其中面向对象又涉及如下几个概念:
-
polymorphism(多态)
-
inheritance(继承)
-
abstraction(抽象)
-
encapsulation(封装)
-
object(对象)
-
class(类)
C++的优势:
-
面向对象语言,这也就意味着数据可以考虑成对象。
-
多范式语言,可以安装不同的范式编写程序的逻辑、结构、过程。
-
动态内存分配管理。
-
Mid-Level编程语言,可以用来开发游戏,桌面应用程序,驱动,kernel。
02:现阶段C++中不同的数据类型
C/C++中的数据类型:
-
Primary(首要):
-
Integer
-
Character
-
Boolean
-
Floating Point
-
Double Floating Point
-
Void
-
Wide Character
-
-
Derived(衍生):
-
Function
-
Array
-
Pointer
-
Reference
-
-
User Defined(自定义):
-
Class
-
Structure
-
Union
-
Enum
-
Typedef
-
03:‘std’是什么?
std全称为Standard,译为标准。对应的完整代码是“using namespace std”,写此代码的目的是告知编译器,后面加载的函数或变量等都从std中加载。使用上述代码好处是省略了“域操作符”(::)。
04:C++中引用是什么?
C++中引用的作用是为某一变量创建一个可供代替的别名,引用可作为变量的符号,不需要其他的语法,就能直接进行访问。但引用必须在创建时进行指向,并且不能进行改变。引用的最大好处是在函数调用时传入的参数不需要进行拷贝。定义引用时需要使用“&”负荷。
语法:
int GFG = 10;
// reference variable
int& ref = GFG;
05:传值和传引用的区别
Call by Value | Call by Reference |
需要进行变量拷贝 | 变量本身 |
作为函数的传入参数时会拷贝一份变量 | 作为函数的传入参数时传入的是变量的地址 |
在函数中值发生改变时不会影响函数外的值,简单说就是Call by Value不会修改原始数据的值 | 与Call by Value相反,简单说就是Call by Reference会修改到原始数据的值 |
不同变量存储在不同的内存中 | 数据都存储在相同的内存中 |
06:C++中定义的标记
token(标记)是编译器识别程序中最小的元素。C++中的token包含:
-
keywords:不同的关键字包含某些特殊的含义。
-
Identifiers:具有唯一的值/标识。
-
Constants:不能改变的值。
-
Strings:一系列的数据。
-
Special Symbols:特殊的符号,如:[]、()、{}、;*=#。
-
Operators:操作符。
07:C和C++之间的区别
C | C++ |
面向过程的语言,不支持类和对象 | 面向过程和面向对象混合型语言,支持类和对象 |
不支持OOPs相关的概念,如封装,继承,多态,抽象,类,对象都不支持 | 支持所有数据的概念 |
不支持函数和操作符重载 | 支持函数和操作符重载 |
函数驱动的语言 | 对象驱动的语言 |
08:struct和class之间的区别
方面 | struct | class |
默认访问 | 成员默认为public | 成员默认为private |
内存分配 | stack或heap | stack或heap |
继承 | 支持继承(public、protected、private) | 支持继承(public、protected、private) |
使用语法 | 普通数据结构,简单数据组等 | 复杂的对象,方法,构造与析构 |
09:引用和指针之间的区别
Reference | Pointer |
引用变量不进行内存分配 | 指针变量可进行内存分配 |
不支持null | 支持null |
不能引用到数组上 | 可以指向数组 |
访问class/struct时使用“.” | 访问class/struct时使用“->” |
可直接访问内存中数据 | 使用“*”访问内存中的数据 |
10:函数重载和操作符重载之间的区别
Function Overloading | Operator OVerloading |
用多种方式定义一个函数,同一个函数有多个版本 | 给一个操作符现有的意义赋予特殊意义的值,简单说就是为操作符重新定义意义 |
使用不同函数的参数进行重载 | 多态是函数重载的一个例子,分配类的对象可以被不同类使用和调用 |
函数重载使用示例:
| 操作符重载使用示例:
|
原文地址:50个C++经典面试题(01~10)
标签:10,面试题,01,函数,int,C++,操作符,重载,变量 From: https://blog.csdn.net/qq78442761/article/details/145251746