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

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.dtcms.com/a/356521.html

相关文章:

  • 2025楼宇自控DDC全面解析
  • WPF+IOC学习记录
  • 使用 Wheel Variants 简化 CUDA 加速 Python 安装和打包工作流
  • mysql中表的约束
  • AI供应链优化+AI门店排班:蜜雪冰城降本20%、瑞幸提效的AI商业落地实战
  • SQL优化--OR
  • springboot中循环依赖的解决方法-使用反射
  • linux mysql数据备份
  • 零基础上手:Cursor + MCP 爬取 YouTube 视频数据
  • 政策技术双轮驱动 | 新一代工业软件供需对接会·顺德站成功举办
  • 深入解析Nginx核心模块
  • npm使用的环境变量及其用法
  • 专业的储存数据的结构:数据库
  • 【开题答辩全过程】以 基于Python的美食点评系统为例,包含答辩的问题和答案
  • iOS混淆工具实战 电商类 App 的数据与交易安全防护
  • Lambda 表达式在 PyQt/PySide 中的应用
  • Python OpenCV图像处理与深度学习:Python OpenCV入门-图像处理基础
  • 什么是 MySQL的主从同步机制?它是如何实现的?
  • 交互设计 | 无人机控制系统的 UI 设计:从人机交互到任务管理
  • Word - Word 查找文本中的特定内容
  • 宜春城区光纤铺设及接口实地调研
  • 宜春城区SDH网图分析
  • 设计模式Books Reading
  • 计算机视觉----opencv(图像轮毂绘制(大小选择,排序,外接图形绘制),轮廓的近似,模板的匹配)
  • mybatis.xml直接读取配置文件(application.yml)中的数据
  • java数据结构--排序
  • 工业相机的类型及不同类型的应用
  • Python 实战:内网渗透中的信息收集自动化脚本(5)
  • 2025.8.29总结
  • MFC视图中绘制图形缩放和滚动条的处理