• Day7:面试必考选择题


    Day7:面试必考题目


    请添加图片描述

    题目一

    有一个类A,其数据成员如下: 则构造函数中,成员变量一定要通过初始化列表来初始化的是:( )B

    class A {

    private:

    int a;

    public:

    const int b;

    float &c;*

    static const char d;*

    static double e;*

    };

    A.a b c

    B.b c

    C.b c d e

    D.b c d

    E.b

    F.c

    解析:

    A.a是不同数据成员,可以通过构造函数进行赋值

    B.正确,常量以及引用只能通过初始化列表初始化

    C.d,e是静态成员,只能在类外初始化

    D.d是静态成员,只能在类外初始化

    E.b常量只能通过初始化列表初始化,但不是最佳答案

    F.c引用只能通过初始化列表初始化,但不是最佳答案

    题目二

    下面程序的运行结果是( )? D

    class A

    {

    public:

    A(int a)

    :_a1(a)

    ,_a2(_a1)

    {}

    void Print()

    {

    cout<<_a1<<" "<<_a2<

    }

    private:

    int _a2;

    int _a1;

    }

    int main()

    {

    A aa(1);

    aa.Print();

    }

    A.输出1 1

    B.程序崩溃

    C.编译不通过

    D.输出1 随机值

    解析:

    A.初始化顺序由定义类时的声明顺序决定,所以先初始化_a2,由于初始化_a2时_a1还未初始化,所以为随机值,故错误

    B.程序正常运行

    C.能编译通过

    D.正确

    题目三

    在一个cpp文件里面,定义了一个static类型的全局变量,下面一个正确的描述是:( ) A

    A.只能在该cpp所在的编译模块中使用该变量

    B.该变量的值是不可改变的

    C.该变量不能在类的成员函数中引用

    D.这种变量只能是基本类型(如int,char)不能是C++类型

    解析:

    A.正确,static限制了变量具有文件域

    B.static变量是可以被改变的

    C.可以被正常访问使用,以及通过成员来进行引用

    D.静态变量也可以是自定义类型的变量

    题目四

    关于C++类中static 成员和对象成员的说法正确的是( ) C

    A.static 成员变量在对象构造时生成

    B.static 成员函数在对象成员函数中无法调用

    C.static 成员函数没有this指针

    D.static 成员函数不能访问static 成员变量

    解析:

    A.static成员变量在对象生成之前生成

    B.普通成员函数是可以调用static函数的

    C.static函数属于所有对象共享,不具备this指针

    D.static函数唯一能够访问的就是static变量或者其他static函数

    题目五

    下面程序段包含4个函数,其中具有隐含this指针的是( ) D

    int f1();

    class T

    {

    public:static int f2();

    private:friend int f3();

    protect:int f4();

    };

    A.f1

    B.f2

    C.f3

    D.f4

    解析:

    A.全局函数不具备this指针

    B.static函数不具备this指针

    C.友元函数不具备this指针

    D.正确,普通成员方法具有隐藏的this指针

    题目六

    一个类的友元函数能够访问类的( ) D

    A.私有成员

    B.保护成员

    C.公有成员

    D.所有成员

    解析:

    A.可以访问,这也把一个函数声明为友元的目的

    B.可以访问

    C.可以访问

    D.友元函数对一个类里面的所有成员,全部通吃,正确

    题目七

    下面有关友元函数与成员函数的区别,描述错误的是?( ) D

    A.友元函数不是类的成员函数,和普通全局函数的调用没有区别

    B.友元函数和类的成员函数都可以访问类的私有成员变量或者是成员函数

    C.类的成员函数是属于类的,调用的时候是通过指针this调用的

    D.友元函数是有关键字friend修饰,调用的时候也是通过指针this调用的

    解析:

    A.友元函数不是类的成员函数,就相当于你的朋友再亲密也不是你的家人,既然不是类成员函数,那和普通成员函数调用一样,不需要通过对象调用

    B.友元的目的就是为了访问类的私有数据,成员函数可以直接访问类的私有数据

    C.类的成员函数属于类,调用时其内部数据会通过this指针来调用

    D.友元函数不具备this指针,更谈不上通过this调用,故错误

  • 相关阅读:
    Leetcode算法解析——三数之和
    在autodl搭建stable-diffusion-webui+sadTalker
    Kafka实现高性能消息队列分析
    计算机视觉入门-最小二乘法、随机取样法、鲁棒估计、霍夫变换
    Django系列7-员工管理系统实战--项目准备
    机器学习 --- kNN算法
    图论第四天|127. 单词接龙、841. 钥匙和房间、463. 岛屿的周长
    C++ std::unique_lock 用法介绍
    TLS/SSL 详解
    Linux | 第一篇——常见指令汇总【超全、超详细讲解】
  • 原文地址:https://blog.csdn.net/qq_29678157/article/details/126200564