当前位置: 首页 > news >正文

2025年9月计算机二级C++语言程序设计——选择题打卡Day9

备考计算机二级 C++ 程序设计考试,选择题是不容忽视的重要部分。

今天为大家带来 10 道难点选择题,聚焦易错知识点,助力突破薄弱环节。

1、有如下程序:

#include<iostream>
using namespace std;
class Base {
public:virtual void func() { cout<<"Base"; }
};
class Derived : public Base {
public:void func(int x) { cout<<"Derived"; }
};
int main() {Base *p=new Derived;p->func();delete p;return 0;
}

运行时的输出结果是( )
A. Base
B. Derived
C. 无输出
D. 编译错误

答案:A

分析:Derived 的 func (int) 与 Base 的 func () 不是重写(参数不同),p->func () 调用基类版本,输出 Base,故选 A。

2、下列关于多态性的叙述中,错误的是( )
A. 多态性是指同名函数对应多种实现版本
B. 多态性分为编译时多态和运行时多态
C. 函数重载实现的是运行时多态
D. 虚函数实现的是运行时多态

答案:C

分析:函数重载是编译时多态(静态多态),C 选项错误;A、B、D 均正确,故选 C。

3、有如下程序:

#include<iostream>
using namespace std;
class A {
public:A() { cout<<"A"; }A(A&) { cout<<"A&"; }
};
class B : public A {
public:B() { cout<<"B"; }B(B&) { cout<<"B&"; }
};
int main() {B b1;B b2(b1);return 0;
}

运行时的输出结果是( )
A. ABAB&
B. ABA&B&
C. ABB&
D. ABBA&

答案:B

分析:创建 b1:A 构造(A)→B 构造(B);b2 (b1):A 拷贝构造(A&)→B 拷贝构造(B&),输出 ABA&B&,故选 B。

4、下列关于虚析构函数的叙述中,正确的是( )
A. 虚析构函数可以避免内存泄漏
B. 基类的析构函数必须是虚函数
C. 派生类的析构函数必须是虚函数
D. 虚析构函数不能有参数

答案:A

分析:虚析构函数确保删除基类指针时调用派生类析构,避免内存泄漏,A 正确;B、C 错误(非必须);D 正确但不是核心作用,故选 A。

5、有如下程序:

#include<iostream>
using namespace std;
template <class T>
T sum(T *a, int n) {T s=0;for(int i=0;i<n;i++) s+=a[i];return s;
}
int main() {int a[5]={1,2,3,4,5};cout<<sum(a,5)<<endl;return 0;
}

运行时的输出结果是( )
A. 15
B. 0
C. 编译错误
D. 不确定

答案:A

分析:模板函数 sum 计算数组和,1+2+3+4+5=15,故选 A。

6、下列关于异常处理的叙述中,正确的是( )
A. try 块中可以抛出任何类型的异常
B. 一个 try 块只能对应一个 catch 块
C. catch 块必须放在 try 块之前
D. 异常处理机制会自动释放动态分配的内存

答案:A

分析:try 块可抛出任何类型异常,A 正确;一个 try 可对应多个 catch,B 错误;catch 在 try 之后,C 错误;需手动释放内存,D 错误,故选 A。

7、有如下程序:

#include<iostream>
using namespace std;
class MyClass {
public:int x;MyClass(int a) : x(a) {}MyClass operator+(MyClass &b) {return MyClass(x + b.x);}
};
int main() {MyClass obj1(10), obj2(20);MyClass obj3 = obj1 + obj2;cout<<obj3.x<<endl;return 0;
}

运行时的输出结果是( )
A. 30
B. 20
C. 10
D. 0

答案:A

分析:重载 + 运算符实现对象成员相加,10+20=30,故选 A。

8、下列关于静态数据成员的叙述中,正确的是( )
A. 静态数据成员不能被类的对象访问
B. 静态数据成员不属于某个具体的对象
C. 静态数据成员不能被继承
D. 静态数据成员的类型可以是该类的类型

答案:B

分析:静态数据成员属于类,为所有对象共享,B 正确;A 错误(可通过对象或类名访问);C 错误(可继承);D 错误(不完整类型),故选 B。

9、有如下程序:

#include<iostream>
using namespace std;
int &f(int &x) {x++;return x;
}
int main() {int a=1;f(a)=10;cout<<a<<endl;return 0;
}

运行时的输出结果是( )
A. 1
B. 2
C. 10
D. 11

答案:C

分析:f 函数返回 a 的引用,f (a)=10 等价于 a=10,输出 10,故选 C。

10、下列关于模板实参推断的叙述中,正确的是( )
A. 模板实参推断是指编译器根据实参自动确定模板形参的类型
B. 所有模板实参都必须显式指定
C. 模板实参推断适用于类模板和函数模板
D. 模板实参推断可以推断出默认参数

答案:A

分析:模板实参推断是编译器根据实参确定模板形参类型,A 正确;可省略部分实参,B 错误;仅适用于函数模板,C 错误;不能推断默认参数,D 错误,故选 A。

希望这 10 道题能帮助大家对 C++ 难点知识点有更深入的理解和掌握。如果想要获取完整版 PDF(含二级更多题目题库)

夸克网盘分享

http://www.dtcms.com/a/355920.html

相关文章:

  • 【数据分享】珠江三角洲水系地理空间全套数据集
  • x64dbg的基本调试操作 (未完,待补充)
  • 通信协议再升级,PROFINET和EtherNet IP网关迎接改造升级大挑战
  • 智慧清洁革新者:有鹿机器人自述
  • @Jenkins 介绍、部署与使用标准作业程序
  • 深入 OpenHarmony 内核:设备待机管理模块的休眠调度与资源节能技术
  • AT_abc407_f [ABC407F] Sums of Sliding Window Maximum
  • 告别低效!三坐标测量机提高油缸导向套检测效率
  • 拷贝构造和赋值重载有什么区别
  • 转发、重定向
  • 什么是强化学习? ——— 帮助新手了解
  • 基于51单片机的远程wifi浇花系统设计
  • Snagit 2025.3.0 截图贴图录像编辑
  • Android Keystore签名文件详解与安全防护
  • shell编程学习
  • 基于深度学习的档案级图像修复:Coderformer AI技术解析与应用实践
  • 一、晶振与布局布线处理
  • Python Imaging Library (PIL) 全面指南:Python Imaging Library (PIL)基础图像处理入门
  • 呼叫中心录音加密与数据隔离技术方案全解析
  • Wagtail 扩展 HomePage 模型(一个简单的 例子)
  • 人工智能-python-深度学习-过拟合与欠拟合:概念、判断与解决方法
  • 鸿蒙Harmony-从零开始构建类似于安卓GreenDao的ORM数据库(三)
  • 详解多智能体架构:以 Open Deep Research 项目为例
  • Android中设置RecyclerView滑动到指定条目位置
  • container向harbor推送镜像报错 x509: certificate signed by unknown authority
  • redis添加超时设置
  • SONiC 之 Testbed(2)Ansible
  • Ansible 角色与 Galaxy 生态:角色复用、集合安装与系统角色配置详解
  • 半导体全自动化无人工厂应用
  • Zigbee与LoRaWAN物联网协议深度对比与技术选型指南