【期末不挂科-C++考前速过系列P3】大二C++第3次过程考核(20道选择题&12道判断题&2道代码题)【解析,注释】

前言

大家好吖,欢迎来到 YY 滴C++考前速过系列 ,热烈欢迎! 本章主要内容面向接触过C++的老铁
主要内容含:
在这里插入图片描述

欢迎订阅 YY滴C++专栏!更多干货持续更新!以下是传送门!

  • YY的《C++》专栏
  • YY的《C++11》专栏
  • YY的《Linux》专栏
  • YY的《数据结构》专栏
  • YY的《C语言基础》专栏
  • YY的《初学者易错点》专栏
  • YY的《小小知识点》专栏
  • 更加详细和全面的C++知识讲解——>可关注 YY的《C++》专栏
  • 此系列主打期末复习速过,一些基本知识点会略过(例如虚函数具体原理等等)

目录

  • 一.选择题(20)
  • 二.判断题(12)
  • 三.代码题(2)
    • 例题1:
    • 例题2:

一.选择题(20)

  1. 类模板的模板参数( )。D
    A.只可作为数据成员的类型
    B.只可作为成员的返回值类型
    C.只可作为成员函数的参数类型
    D.以上三者皆可
  1. 如果有如下函数模板的定义:C
    A.func (3, 5) ;
    B.func<>(3,5)
    C.func(3, 2.5)
    D.func<int>(3 2.5):
  1. 如果try中不抛出异常,那么try块执行完后控制权会转向何处? A
    A.catch后的第一条语句
    B.catch语句块的第一条语句
    C.throw语句
    D.退出程序
  1. 模板的使用是为了( )。A
    A.提高代码的可至用性
    B.提高代码的运行效率
    C.加强类的封装性
    D.实现多态性
  1. C++处理异常的机制是由( )3部分组成。C
    A.编辑、编译和运行
    B.编辑、编译和捕获
    C.检查、抛出和捕获
    D.检查、抛出和运行

6.下面的那一条不是面向对象的重要特性?D
A.抽象和封装
B.多态
C.继承
D.对象

解析:

  • 面向对象的重要特性分别为:抽象、封装、继承、多态。
  1. 重载函数在调用时选择的依据,()是错误的B
    A.参数的类型
    B.参数的返回值类型
    C.参数的个数
  1. 【类和对象定义细节】类的成员访问限定符不包含( )。D
    A.private:限定成员称为私有成员:私有成员的数据或区数使用受到类的限制,本类的成员函数可以访问,但类外不能访问
    B.public:限定成员称为公有成员:公有成员的数据或函数不受类的限制,可以在类内或类外自由使用,本类的成员函数可以访问,类外也能访问
    C.proteted:限定成员为保护成员,只允许在类内及该类的派生类中使用保护的数据或函数,即保护成员的作用域是该类及该类的派生类
    D.const: 限定类的成员为常类型,不允许修改数据的值
  1. 【类和对象定义细节】以下有关类与结构体的叙述不正确的是( )C
    A.结构体中只包含数据:类中封装了数据和操作
    B.结构体的成员对外界通常是开放的;类的成员可以被隐藏
    C.用struct不能声明一个类型名;而class可以声明一个类名
    D.结构体成员默认为public;类成员默认为private
  1. 以下不属于构造函数特征的是( )。D
    A.构造函数名与类名相同
    B.构造函数可以重载
    C.构造函数可以设置默认参数
    D.构造函数必须指定函数类型
  1. 下列关于构造函数的说法错误的是( )。B
    A.构造函数的名字必须与类的名字相同
    B.构造函数可以定义为void类型
    C.构造函数可以重载、可以带有默认参数
    D.构造函数可以由用户自定义也可以由系统自动生成
  1. ( )的功能是对象进行初始化。C
    A.析构函数
    B.数据成员
    C.构造函数
    D.静态成员函数
  1. 类的析构函数的作用是()。D
    A.一般成员函数
    B.类的初始化
    C.对象初始化
    D.删除对象
  1. 继承具有( ),即当基类本身也是某一类的派生类时,底层的派生类也会自动继承间接基类的成员。B
    A.规律性
    B.传递性
    C.重复性
    D.多样性
  1. 基类中的( )不允许外界访问,但允许派生类的成员函数访问,这样既有一定的隐藏能力,又提供了开放的接口。D
    A.公有成员
    B.私有成员
    C.私有成员函数
    D.保护成员
  1. 动态多态的调用是指( )。C
    A.以任何方式调用一个虚函数
    B.以任何方式调用一个纯虚函数
    C.借助于指向对象的基类指针或引用调用一个虚函数
  1. 虚函数必须是类的( )。D
    A.友元函数
    B.构造函数
    C.析构函数
    D.成员函数
  1. 下列各函数的说明中,( )表示纯虚函数。C
    A.virtual int vf(int);
    B.void vf(int)=0.8;
    C.virtual void vf0=0;
    D.virtual void vf(int);
  1. 下列关于纯虚函数与抽象类的描述中,( )是错误的。C
    A.抽象类是指具有纯虚函数的类
    B.纯虚函数是一个特殊的虚函数,它没有具体的实现
    C.一个基类中具有纯虚函数,该基类的派生类一定不再是抽象类
    D.抽象类只能作为基类来用,其纯虚函数的实现由派生类给出
  1. 下列描述中,( )是抽象类的特征。D
    A.可以说明虚函数
    B.可以进行构造函数重载
    C.可以定义友元
    D.不能定义其对象

二.判断题(12)

  • PS:解析与答案在下面
  1. 函数模板又称为泛型函数、通用函数。
  2. 当程序中同时重载有函数模板和非函数模板时,编译器会优先选用模板函数。
  3. 可以从类模板派生出类模板,但不可以从类模板派生出非类模板。
  4. 函数模板可以重载。
  5. 类模板可以作为函数模板的返回类型。
  6. 一个try块可与多个catch语句(称为异常处理器)联系,每个catch语句处理一种类型的异常信息。
  7. 若没有catch语句与抛出异常的类型相匹配,则程序继续运行。
  8. 抛出异常的程序模块一旦抛出了异常,在处理完异常后,继续执行throw后面的语句。
  9. throw语句的一般形式为 throw 表达式; 也可以不带表达式 throw;
  10. 一个try块可与多个catch语句(称为异常处理器)联系,找到一个类型匹配的catch语句后,继续匹配后面的catch语句,可能执行多个catch语句。
  11. 构造函数和析构函数的执行顺序为先构造的后析构,后构造的先析构
  12. 析构函数是特殊的成员函数,它的作用与构造函数相反,完成程序结束前的清理工作。
  1. ×
  2. ×
  3. ×
  4. ×
  5. ×

三.代码题(2)

例题1:

  • 编写一个函数模板,使用冒泡排序将数组内容由小到大排列并打印出来,并写出调用此函数模板的完整程序,使得函数调用时,数组的类型可以是整型,也可以是双精度型。
#include <iostream>template <typename T>
void bubbleSort(T arr[], int size) {for (int i = 0; i < size - 1; i++) {for (int j = 0; j < size - i - 1; j++) {if (arr[j] > arr[j + 1]) {T temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}for (int i = 0; i < size; i++) {std::cout << arr[i] << " ";}std::cout << std::endl;
}int main() {int intArray[] = {5, 3, 8, 2, 1, 6};double doubleArray[] = {5.6, 3.2, 8.9, 2.1, 1.5, 6.7};std::cout << "Sorted intArray: ";bubbleSort(intArray, 6);std::cout << "Sorted doubleArray: ";bubbleSort(doubleArray, 6);return 0;
}

例题2:

  • 定义员工类Employee,具有私有数据成员name,age,salary。
    在Employee类中设计一个input()成员函数,用于输入员工的name,age,salary,当age大于60小于18时,抛出一个异常。在catch()中显示相应的出错信息。
#include <iostream>
#include <string>class Employee {
private:std::string name;int age;double salary;public:void input() {std::cout << "Enter name: ";std::cin >> name;std::cout << "Enter age: ";std::cin >> age;if (age > 60 || age < 18) {throw "Invalid age";}std::cout << "Enter salary: ";std::cin >> salary;}
};int main() {Employee emp;try {emp.input();}catch (const char* msg) {std::cerr << "Error: " << msg << std::endl;}return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

easyexcel上传校验的方法封装

easyexcel版本3.1.5 使用自定义注解的方式来定义校验的类型&#xff0c;避免冗余代码。 //校验value不能为空&#xff0c;且长度最大为30 RowCheck(value {RowCheckType.EMPTY,RowCheckType.LENGTH},max 30) private String value; 具体代码&#xff1a; 首先定义校验类型…

缓存学习实战篇

缓存练习题&#xff08;用户查询操作&#xff09; public List<ShopType> queryAllType() throws JsonProcessingException {//从缓存中查数据String shopTypeJson stringRedisTemplate.opsForValue().get("cache:shopType");//如果缓存命中&#xff0c;if (S…

短视频账号矩阵剪辑分发系统无人直播技术开发源头

一、全行业独家源头最全面的核心技术 短视频矩阵新玩法是指利用批量自动混剪系统来处理大量短视频&#xff0c;通过智能算法自动进行视频剪辑、场景切换、特效添加等操作&#xff0c;最终生成高质量、精彩纷呈的混剪视频作品的方法和技术。这一方法的出现使得大规模短视频制作…

LangChain 71 字符串评估器String Evaluation衡量在多样化数据上的性能和完整性

LangChain系列文章 LangChain 60 深入理解LangChain 表达式语言23 multiple chains链透传参数 LangChain Expression Language (LCEL)LangChain 61 深入理解LangChain 表达式语言24 multiple chains链透传参数 LangChain Expression Language (LCEL)LangChain 62 深入理解Lang…

如何让GPT/GPT4成为你的编程助手?

详情点击链接&#xff1a;如何让GPT/GPT4成为你的编程助手&#xff1f; 一OpenAI 1.最新大模型GPT-4 Turbo 2.最新发布的高级数据分析&#xff0c;AI画图&#xff0c;图像识别&#xff0c;文档API 3.GPT Store 4.从0到1创建自己的GPT应用 5. 模型Gemini以及大模型Claude2二…

Django框架完成读者浏览书籍,图书详情页,借阅管理

前情回顾&#xff1a; 使用Django框架实现简单的图书借阅系统——完成图书信息管理 文章目录 1.完成展示图书信息功能1.1django 静态资源管理问题1.2编写图书展示模板HTML 2.完成图书详情页功能2.1从后端获取图书详情信息2.2详情页面展示图书数据 3.完成借阅管理功能3.1管理员…

高压消防泵:科技与安全性的完美结合

在现代社会&#xff0c;随着科技的不断发展&#xff0c;各种高科技设备层出不穷&#xff0c;为我们的生活带来了极大的便利。在森林火灾扑救领域&#xff0c;恒峰智慧科技研发的高压消防泵作为一种高效、节能、绿色、环保的优质设备&#xff0c;将科技与安全性完美地结合在一起…

蓝桥杯练习题(五)

&#x1f4d1;前言 本文主要是【算法】——蓝桥杯练习题&#xff08;五&#xff09;的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 …

【计算机组成原理】IEEE 754 标准定义的浮点数表示格式

IEEE 754 IEEE 754是一种由美国电气和电子工程师协会&#xff08;IEEE&#xff09;制定的标准&#xff0c;用于定义浮点数的表示和运算。这个标准定义了浮点数的格式、舍入规则、特殊值的处理以及算术操作的执行方式。 IEEE 754浮点数标准主要定义了两种浮点数格式&#xff1…

Windows11 安装MySQL8.0操作

一、从MySQL官网下载MySQL安装包 官网地址&#xff1a; www.mysql.com &#xff08;1&#xff09;首先 选择 DOWNLOADS 下载界面 &#xff08;2&#xff09;其次选择 MySQL 客户端 下载 &#xff08;3&#xff09;选择windows安装MySQL &#xff08;4&#xff09;选择MySQL类型…

Jenkins 问题

从gitlab 仓库拉去代码到Jenkins本地报错 ERROR: Couldn’t find any revision to build. Verify the repository and branch configuration for this job. 问题原因&#xff1a; 创建条目》配置的时候&#xff0c;gitlab仓库不存在master分支 修复后&#xff1a;

分裂联邦学习论文-混合联邦分裂学习GAN驱动的预测性多目标优化

论文标题&#xff1a;《Predictive GAN-Powered Multi-Objective Optimization for Hybrid Federated Split Learning》 期刊&#xff1a;IEEE Transactions on Communications, 2023 一、论文介绍 背景&#xff1a;联邦学习作为一种多设备协同训练的边缘智能算法&#xff0…