[C++初阶]一些类的选择题

本篇就是举例一些类的选择题,用于提高大家的基础,便于记忆。

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

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

答案:B

解析:

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

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

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

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

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

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

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

class A

{

public:

  A(int a)

    :_a1(a)

    ,_a2(_a1)

  {}

   

  void Print()

  {

    cout<<_a1<<" "<<_a2<<endl;

  }

private:

  int _a2;

  int _a1;

}

int main()

{

  A aa(1);

  aa.Print();

}

A.输出1 1

B.程序崩溃

C.编译不通过

D.输出1 随机值

答案:D

解析:

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

B.程序正常运行

C.能编译通过

D.正确

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

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

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

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

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

答案:A

解析:

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

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

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

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

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

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

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

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

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

答案:C

解析:

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

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

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

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

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

int f1();

class T

{

  public:static int f2();

  private:friend int f3();

  protect:int f4();

};

A.f1

B.f2

C.f3

D.f4

答案:D

解析:

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

B.static函数不具备this指针

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

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

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

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

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

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

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

答案:D

解析:

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

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

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

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

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

A.私有成员

B.保护成员

C.公有成员

D.所有成员

答案:D

解析:

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

B.可以访问

C.可以访问

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/574365.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[柏鹭杯 2021]试试大数据分解?

题目&#xff1a;&#xff08;NSSCTF | 在线CTF平台&#xff09; 题目就是如此&#xff0c;我没看到有5个不同的文本&#xff0c;其中最后一个文本以pem后缀&#xff0c;所以我们先来了解一下什么是pem格式。 PEM 格式 PEM格式通常用于数字证书认证机构&#xff08;Certifica…

UI自动化测试框架:PO 模式+数据驱动(超详细)

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1、PO 设计模式简介 什么是 PO 模式&#xff1f; PO&#xff…

雅特力AT32F435学习——2.ADC实验

ADC实验 ADC是什么、重要性就不再这里多说&#xff0c;ADC这个外设以及关于ADC的应用程序用途非常之广泛很值得深挖&#xff0c;接下来就让我们学一下雅特力AT32F435单片机的ADC吧。 基础知识 不同厂商的单片机的ADC外设都是有区别的&#xff0c;比如ADC转换位数、采样频率等…

【SpringCloud】OpenFeign高级特性

【SpringCloud】OpenFeign高级特性 文章目录 【SpringCloud】OpenFeign高级特性1. 超时控制1.1 全局配置1.2 指定配置 2. 重试机制3. 替换Http客户端3.1 引入依赖3.2 配置 4. 请求/响应压缩5. 日志打印6. 综合配置 1. 超时控制 默认OpenFeign客户端等待60秒钟&#xff0c;但是服…

传承汉字,发扬光大!让《米小圈动画汉字》也出一份力吧!

目前社会上出现的诸如“计算机是汉字的掘慕人”、“汉字是行将就木的老人”“必须废除汉字,汉字要走拼音化迷路”等观点,值得重视。专家们说,20年前如提汉字要走拼音化道路,主要是缘于汉字难以输入电脑,而时至今日,汉字在电脑上早已畅通无阻,如果仍坚持“汉字拙劣,必得用拼音文…

SAP 如何控制生产订单发料后不能删除组件

SAP默认的情况下,即使工单中的组件已发料了,但仍可以进行删除的标志。这种情况是不太符合逻辑的,如果真要删除,应该先退料,然后再上删除标志。并不能再物料还是已领料的状态下 就对物料做删除的操作。 如下图 生产订单在已经领料的情况下,仍然的被打上了删除标识。 我们…

【产品经理修炼之道】- 从需求到功能的转化过程

产品经理的最大作用是将需求转化为产品或者功能&#xff0c;从需求到功能&#xff0c;会经历哪些过程&#xff1f;本文总结了从需求到功能的转化过程&#xff0c;希望对你进一步了解有所帮助。 “大部分的产品经理特别是数字化产品经理其核心价值就是如何去解决如何把需求转化为…

MySQL主键:自增id、UUID、雪花算法

视频可看&#xff1a; 动画讲解&#xff1a;为什么不能使用自增ID或者UUID做MySQL的主键&#xff0c;雪花算法生成的主键存在哪些问题_哔哩哔哩_bilibili 一、MySQL分布式架构中&#xff0c;为什么不能使用自增id作为主键 自增主键的好处&#xff1a;写入效率高 弊端&#x…

你只可以转让未使用“通过 Apple 登录”功能的 App。

你只可以转让未使用“通过 Apple 登录”功能的 App。 因为这个问题遇到的比较少&#xff0c;同时也比较难以解决&#xff0c;所以这个问题的答案&#xff0c;必须要开会员我才让你们看。 华丽的开会员分割线 当前问题的主要原因是被接入的账号有30天的封号提示了&#xff0c;…

12(第十一章,数据仓库和商务智能)

目录 概述 目标和原则 基本概念 商务智能 数据仓库 数据仓库建设方法 数据仓库架构组件 加载处理方式 1、历史数据 2、批量变更数据捕获&#xff08;CDC&#xff09; 3、准实时和实时数据加载 活动 运营分析应用 方法 数据仓库构建 架构演进 数据处理过程 数…

Python+Selenium基于PO模式的Web自动化测试框架

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、什么是Selenium&#xff1f; Selenium是一个基于浏览器的自动化测试工具&#xff0c;它提供…

pytest教程-30-测试数据管理插件-pytest-datadir

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 上一小节我们学习了pytest重复执行用例插件pytest-repeat&#xff0c;本小节我们讲解一下测试数据管理插件-pytest-datadir。 在软件测试中&#xff0c;有效管理测试数据对于编写全面的测试用例至关重要。Pytest…

Allure精通指南(04)静态和动态生成报告标记

文章目录 Allure 静态定制报告标记Allure 动态生成报告标记Allure 实现方式选择Allure 分类执行运行epic相关运行feature相关运行story相关运行story相关运行feature和多个story相关&#xff08;取并集&#xff09; Allure 静态定制报告标记 定义和用法&#xff1a; Decorators…

Learn ComputeShader 01 First Computer Shader

使用Unity版本&#xff1a;2019.4.12f1 整体流程&#xff1a; 1添加一个quad object并添加一个无光照材质 2.相机投影模式设置为正交 3.调整quad使其完全显示在相机内 4.创建脚本并且使用计算着色器覆盖quad的纹理 5.创建一个compute shader 前三步完成以后结果应该是这…

深入了解计算机系统——利用循环展开对程序的优化

系列文章&#xff1a; 操作系统详解(1)——操作系统的作用 操作系统详解(2)——异常处理(Exception) 操作系统详解(3)——进程、并发和并行 操作系统详解(4)——进程控制(fork, waitpid, sleep, execve) 操作系统详解(5)——信号(Signal) 文章目录 一些概念CPE 初步优化消除不必…

Mysql基础篇

1 数据库的三大范式 第一范式&#xff1a;强调的是列的原子性&#xff0c;即数据库表的每一列都是不可分割的原子数据项。 第二范式&#xff1a;在第一范式的基础上&#xff0c;消除非主属性对主属性的部分函数依赖。要求实体的非主键完全依赖于主键。所谓完全依赖是指不能存…

Linux进程间通讯

文章目录 Linux进程间通讯1、进程间通信介绍1.1、进程间通信目的1.2、进程间通信发展1.3、进程间通信分类 2、管道2.1、什么是管道2.2、匿名管道2.2.1、标准输入stdin和标准输出stdout通信2.2.2、父子进程通信2.2.3、父子进程通信现象2.2.4、父子进程通信特性2.2.5、进程池 2.3…

【window环境、Linux环境、QT三种方法实现TCP通信】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Windows环境下实现TCP通信1.服务器2.客户端3.运行 二、Linux环境下实现TCP通信1.服务端2.客户端 三、Qt实现TCP通信1.服务端1.客户端 总结 前言 大多数项目…

RAG文本解析工具open-parse

简介 对于RAG来说&#xff0c;将文本有效的分块(chucking)是很重要的一件事&#xff0c;open-parse是一个用来分块pdf的开源工具&#xff0c;它主要基于视觉驱动(Visually-Driven)的方式来将文档分块&#xff0c;也就是说它不仅仅是按照段落或者字数来对文档分块&#xff0c;而…

easyx 按键信息

前言 看看代码吧 ExMessage msg { 0 }; bool button(int x, int y, int w, int h, const char* text) {//绘制按钮setfillcolor(RGB(230, 231, 232));fillroundrect(x, y, x w, y h, 5, 5);if ((msg.x > x && msg.x<x w && msg.y>y && …
最新文章