首页 > 编程语言 >50个C++经典面试题(01~10)

50个C++经典面试题(01~10)

时间:2025-01-20 08:58:40浏览次数:3  
标签:10 面试题 01 函数 int C++ 操作符 重载 变量

为什么要研究面试题,因为研究题目可以让面试者面试时看起来像个专家。

本博文将给出50个面试题,题目涉及初级、中级、高级。

下面来看下01~10题

01:C++是什么?C++的优势是什么?

C++是一门面向对象语言,它的存在的目的是为了克服C语言的短板。其中面向对象又涉及如下几个概念:

  • polymorphism(多态)

  • inheritance(继承)

  • abstraction(抽象)

  • encapsulation(封装)

  • object(对象)

  • class(类)

    C++的优势:

    • 面向对象语言,这也就意味着数据可以考虑成对象。

    • 多范式语言,可以安装不同的范式编写程序的逻辑、结构、过程。

    • 动态内存分配管理。

    • Mid-Level编程语言,可以用来开发游戏,桌面应用程序,驱动,kernel。

    02:现阶段C++中不同的数据类型

    C/C++中的数据类型:

    1. Primary(首要):

      1. Integer

      2. Character

      3. Boolean

      4. Floating Point

      5. Double Floating Point

      6. Void

      7. Wide Character

    2. Derived(衍生):

      1. Function

      2. Array

      3. Pointer

      4. Reference

    3. User Defined(自定义):

      1. Class

      2. Structure

      3. Union

      4. Enum

      5. 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

    用多种方式定义一个函数,同一个函数有多个版本

    给一个操作符现有的意义赋予特殊意义的值,简单说就是为操作符重新定义意义

    使用不同函数的参数进行重载

    多态是函数重载的一个例子,分配类的对象可以被不同类使用和调用

    函数重载使用示例:

    1. int GFG(int X, int Y);

    1. int GFG(char X, char Y);

    操作符重载使用示例:

    1. int GFG = X() + Y();

    1. int GFG = X() - Y();

    原文地址:50个C++经典面试题(01~10)

    标签:10,面试题,01,函数,int,C++,操作符,重载,变量
    From: https://blog.csdn.net/qq78442761/article/details/145251746

    相关文章