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

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

今天为大家带来 10 道难点选择题,聚焦继承、多态等核心难点,助力提升解题精度。

1、有如下程序:

#include<iostream>
using namespace std;
class Base {
public:Base() { x=0; }int x;
};
class Derived : public Base {
public:Derived() { x=1; y=2; }int y;
};
int main() {Base *p=new Derived;cout<<p->x<<endl;delete p;return 0;
}

运行时的输出结果是( )
A. 0
B. 1
C. 2
D. 不确定

答案:B

分析:p 指向 Derived 对象,x 是基类成员,Derived 构造函数将 x 设为 1,输出 1,故选 B。

2、下列关于纯虚函数的叙述中,正确的是( )
A. 纯虚函数是没有函数体的虚函数
B. 纯虚函数的声明格式为 “virtual 函数原型 = 0;”
C. 派生类必须重定义基类的纯虚函数
D. 含有纯虚函数的类可以创建对象

答案:B

分析:纯虚函数声明为virtual 返回类型 函数名(参数)=0;,B 正确;A 错误(可以有函数体);C 错误(派生类可仍为抽象类);D 错误(不能创建对象),故选 B。

3、有如下程序:

#include<iostream>
using namespace std;
class A {
public:virtual void f() { cout<<"A"; }
};
class B : public A {
public:void f() { cout<<"B"; }
};
class C : public B {
public:void f() { cout<<"C"; }
};
void show(A a) { a.f(); }
int main() {C c;show(c);return 0;
}

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

答案:A

分析:show 函数参数是值传递(对象切片),a.f () 调用基类 A 的 f,输出 A,故选 A。

4、下列关于虚基类的叙述中,正确的是( )
A. 虚基类的构造函数不会被调用
B. 虚基类可以解决多继承中的二义性问题
C. 虚基类的派生类一定是虚派生
D. 虚基类不能被实例化

答案:B

分析:虚基类通过共享基类对象解决二义性,B 正确;A 错误(会被调用);C 错误(派生类可非虚派生);D 错误(可实例化),故选 B。

5、有如下程序:

#include<iostream>
#include<string>
using namespace std;
class Person {
public:Person(string n) : name(n) {}virtual void Print() { cout<<name; }
private:string name;
};
class Student : public Person {
public:Student(string n, int i) : Person(n), id(i) {}void Print() { Person::Print(); cout<<id; }
private:int id;
};
int main() {Person *p=new Student("Tom", 123);p->Print();delete p;return 0;
}

运行时的输出结果是( )
A. Tom
B. 123
C. Tom123
D. 编译错误

答案:C

分析:Print 是虚函数,p->Print () 调用 Student 的版本,输出 Tom123,故选 C。

6、下列关于运算符重载的叙述中,正确的是( )
A. 重载运算符的优先级可以改变
B. 重载运算符的结合性可以改变
C. 重载运算符的操作数个数可以改变
D. 重载运算符的功能可以改变

答案:D

分析:运算符重载不改变优先级、结合性和操作数个数,仅改变功能,D 正确,故选 D。

7、有如下程序:

#include<iostream>
using namespace std;
template <class T>
class MyClass {
public:MyClass(T x) { cout<<x; }
};
int main() {MyClass<int> a(10);MyClass<double> b(3.14);return 0;
}

运行时的输出结果是( )
A. 103.14
B. 103
C. 3.1410
D. 编译错误

答案:A

分析:类模板实例化为 int 和 double 版本,分别输出 10 和 3.14,故选 A。

8、下列关于友元函数和成员函数的叙述中,正确的是( )
A. 友元函数和成员函数都有 this 指针
B. 友元函数和成员函数都可以直接访问类的私有成员
C. 友元函数不能被继承,成员函数可以被继承
D. 友元函数和成员函数的声明位置都必须在类的公有部分

答案:C

分析:友元函数无 this 指针,A 错误;成员函数需权限允许,B 错误;C 正确;友元和成员函数可在任何部分声明,D 错误,故选 C。

9、有如下程序:

#include<iostream>
using namespace std;
int main() {int a[3][3]={{1,2,3}, {4,5,6}, {7,8,9}};int (*p)[3]=a;cout<<*(*(p+1)+2)<<endl;return 0;
}

运行时的输出结果是( )
A. 5
B. 6
C. 8
D. 9

答案:B

分析:p+1 指向第二行,*(p+1)+2 指向第二行第三列元素 6,输出 6,故选 B。

10、下列关于动态绑定的叙述中,正确的是( )
A. 动态绑定是在编译时确定调用的函数版本
B. 动态绑定仅适用于虚函数
C. 动态绑定需要使用对象名调用函数
D. 动态绑定可以通过非指针和引用的基类对象实现

答案:B

分析:动态绑定在运行时确定,A 错误;仅适用于虚函数,B 正确;需通过基类指针或引用,C、D 错误,故选 B。

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

夸克网盘分享

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

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

相关文章

Formdata表单数据提交

前言&#xff1a;在表单数据提交中&#xff0c;常常除了字符串拼接的方式传给后端&#xff0c;一般可能还需要使用Fromdata的格式包装所要提交的表单数据传递。常用场景&#xff1a;表单数据提交一、Formdata的优势使用 FormData 主要是因为它有两个独特优势&#xff1a;能轻松…

React Native 初体验

前言 最近公司需要移植一个应用到 iOS 端&#xff0c;本来想要尝试 uniapp 的新架构 uniapp-x 的&#xff0c;折腾两天放弃了&#xff0c;选择了 React Native。 原因&#xff1a; HbuilderX 中的 uniapp-x 模版过于臃肿&#xff0c;夹杂很多不需要的东西&#xff08;可能是…

自动驾驶中的传感器技术36——Lidar(11)

本章节重点介绍和FMCWOPA Lidar强相关的硅光技术。 1、硅光技术概述&#xff08;Silicon Photonics&#xff09; 硅光技术主要是用在光通信中&#xff0c;利用硅作为光学介质&#xff0c;通过光传输和处理数据。与依赖电子进行数据传输的传统电子电路不同&#xff0c;硅光子学…

MapStruct用法和实践

一、MapStruct 用法1. 嵌套对象深度映射&#xff08;Deep Mapping&#xff09;// 源对象 public class User {private Address address;// getter/setter }public class Address {private String city;private String street; }// 目标对象 public class UserDTO {private Stri…

设计模式相关面试题

写在前面 &#x1f525;我把后端Java面试题做了一个汇总&#xff0c;有兴趣大家可以看看&#xff01;这里&#x1f449; ⭐️在反复复习面试题时&#xff0c;我发现不同资料的解释五花八门&#xff0c;容易造成概念混淆。尤其是很多总结性的文章和视频&#xff0c;要么冗长难…

访问者设计模式

访问者设计模式是一种行为模式&#xff0c;允许您向现有对象结构添加新作&#xff0c;而无需修改其类。 它通过允许您将算法与其作的对象分开来实现这一点。 它在以下情况下特别有用&#xff1a; 您有一个复杂的对象结构&#xff08;如 AST、文档或 UI 元素&#xff09;&#x…

Linux_用 `ps` 按进程名过滤线程,以及用 `pkill` 按进程名安全杀进程

用 ps 按进程名过滤线程&#xff0c;以及用 pkill 按进程名安全杀进程摘要&#xff1a; 过滤线程信息&#xff1a;教你用 ps -C、pgrepps 等多种姿势&#xff0c;既精准又避免误杀。按名字杀进程&#xff1a;用 pkill 一把梭&#xff0c;优雅还是强杀随你选&#xff0c;附带“先…

关于国产 RAC 和分布式研讨

本次研讨核心目标是围绕崖山 DB、达梦 DB、GBASE三款国产数据库&#xff0c;以及数据库内核开发吕工程师的分享&#xff0c;深入了解共享集群 RAC 的开发技术。但实际效果未达预期&#xff0c;参会者多围绕 “共享集群与分布式应用场景” 泛泛而谈&#xff0c;缺乏深度技术拆解…

传输层协议介绍

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档文章目录前言一、TCP协议介绍二、TCP报文格式三、TCP三次握手四、TCP四次挥手五、UDP协议介绍六、常见协议及其端口七、TCP与UDP的不同总结前言提示&#xff1a;这里可以添加本…

Vibe Coding 概念提出者 AndrejKarpathy 谈强化学习。

在预训练时代&#xff0c;关键在于互联网文本。你最需要的是一大批量、多样化且高质量的互联网文档&#xff0c;供模型从中学习。在监督微调&#xff08;SFT&#xff09;时代&#xff0c;核心则是对话数据。人们雇佣合同工人为问题撰写答案&#xff0c;类似于你在 Stack Overfl…

OSI模型和TCP/IP模型区别是什么

问题OSI模型和TCP/IP模型区别是什么我的回答OSI和TCP/IP这两个协议栈有几个主要区别&#xff1a;首先&#xff0c;层次结构不同。OSI是七层模型&#xff1a;物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。而TCP/IP是四层模型&#xff1a;数据链路层、网络层、传…

ros2与gazebo harmonic机械臂仿真项目Moveit2YoloObb的优化

文章目录 关于项目RVIZ控制Gazebo Harmonic仿真机械臂GraphExecuter创建流程并通过Yolo算法抓取螺栓 关于项目 本文介绍ros2与gazebo harmonic机械臂仿真项目Moveit2YoloObb优化的内容&#xff0c;具体的代码细节就不赘述了&#xff0c;主要还是演示效果&#xff0c;包括RVIZ控…

Linux 系统调优与CPU-IO-网络内核参数调优

1. Linux系统调优1.1 安装工具包在开始监控前&#xff0c;需要确保系统已安装以下工具包&#xff0c;它们是后续操作的基础&#xff1a;sysstat&#xff1a;包含 mpstat、iostat、sar 等核心统计工具iotop&#xff1a;专门监控磁盘 I/O 的进程级工具nethogs&#xff1a;按进程查…

laravel学习并连接mysql数据库,给本地vue项目提供接口

下载laravel laravel下载地址phpstudy_pro\WWW\laravel.env文件 DB_CONNECTIONmysql DB_HOST127.0.0.1 DB_PORT3306 DB_DATABASEclgl //你的数据库名称 DB_USERNAMEroot //你的账号 DB_PASSWORDroot //你的密码安装 Laravel CORS 包 composer require fruitcake/laravel-c…

Mybatis 与 Springboot 集成过程详解

Mybatis 与 Springboot 集成过程详解一. 核心概念与优势二.Mybatis 核心类简介1.MybatisAutoConfiguration2.MapperScans3.MapperScannerRegistrar4.MapperFactoryBean5.Configuration6.MapperRegistry7.MapperProxy 与 MapperProxyFactory7.1核心定位与职责7.22. ​​MapperPr…

prometheus alertmanager 对接飞书

alertmanager 直接配置 飞书 的 webhook &#xff0c;发现并不满足飞书接口的 json 格式。报错如下levelerror ts2025-08-28T04:57:02.734Z callerdispatch.go:310 componentdispatcher msg"Notify for alerts failed" num_alerts23 err"prometheusalert-webhoo…

『专利好药用力心脑血管健康』——爱上古中医(28)(健康生活是coder抒写优质代码的前提条件——《黄帝内经》伴读学习纪要)

心脏血管三通康&#xff0c;古时丸药精益装。 笔记模板由python脚本于2025-08-26 18:25:03创建&#xff0c;本篇笔记适合喜欢日常保健养生知识的coder翻阅。 学习的细节是欢悦的历程 博客的核心价值&#xff1a;在于输出思考与经验&#xff0c;而不仅仅是知识的简单复述。 Pyth…

在 .NET 8.0 中实现 JWT 刷新令牌

介绍在 Web 开发领域&#xff0c;安全是重中之重。JSON Web Tokens (JWT) 已成为在各方之间安全传输信息的热门选择。然而&#xff0c;在 JWT 过期后&#xff0c;如何维护用户会话并避免频繁登录至关重要。这正是 JWT 刷新令牌应运而生的地方。在本文中&#xff0c;我们将指导您…

深入解析 git push 命令

1. 基础语法 git push 的基本语法如下: git push <远程仓库名> <本地分支名>:<远程分支名> [选项]<远程仓库名>: 通常是 origin(默认的远程仓库名称)。 <本地分支名>:<远程分支名>: 指定要推送的本地分支以及目标远程分支。如果省略远…

UI弹出动画

简介的UI弹出动画 使用方式很简单 挂载到需要弹出的目标 即可 using UnityEngine; using DG.Tweening; using Unity.VisualScripting;/// <summary>/// 简洁的UI动画脚本/// 直接挂载到UI组件上&#xff0c;调用Play()播放缩放弹出动画/// </summary>public class …