#CSPJ26D12. 2026 年 8 月 CSP-J 初赛 22 日打卡 Day12|面向对象与联合体
2026 年 8 月 CSP-J 初赛 22 日打卡 Day12|面向对象与联合体
Day 12 面向对象与联合体
建议用时:15~25 分钟。请先完成自主学习,再独立提交本页答案。
今日学习资料
学习目标:完成当天知识点阅读与易错清单自查,然后作答下方选择题。
今日练习
- 在 C++ 中,若定义时不写任何访问权限修饰符,
struct与class的成员默认访问权限分别是( )。
{{ select(1) }}
- 都是 public
- 都是 private
- struct 是 public,class 是 private
- struct 是 private,class 是 public
- 下列关于 C++ 构造函数与析构函数的说法, 错误 的是( )。
{{ select(2) }}
- 构造函数的函数名必须与类名相同
- 构造函数的返回值类型必须写成 void
- 析构函数不能带参数,一个类中只能有一个析构函数
- 对象被创建时自动调用构造函数,被销毁时自动调用析构函数
- 【CSP-J 2022 初赛】以下哪种功能没有涉及 C++ 语言的面向对象特性支持( )。
{{ select(3) }}
- C++ 中调用 printf 函数
- C++ 中调用用户定义的类成员函数
- C++ 中构造一个 class 或 struct
- C++ 中构造来源于同一基类的多个派生类
- 下列关于面向对象三大特性的说法,正确的是( )。
{{ select(4) }}
- 封装要求把所有数据成员都写成 public,方便外部直接读写
- 派生类可以直接访问基类中声明为 private 的成员
- 一个类最多只能定义一个构造函数
- 通过基类指针调用虚函数时,运行时会执行派生类重写后的版本
- 已知 int 占 4 字节、char 占 1 字节、double 占 8 字节。定义
union U { int a; char b; double c; };,则sizeof(U)的值是( )。
{{ select(5) }}
- 4
- 8
- 13
- 16
- 【CSP-J 2023 初赛】阅读下述代码,请问修改 data 的 value 成员以存储 3.14,正确的方式是( )。
{{ select(6) }}
- 沿用第 5 题的字节数假设,定义
struct S { int a; char b; double c; };,则sizeof(S)的值是( )。
{{ select(7) }}
- 8
- 13
- 14
- 16
- 有定义
enum Color { RED, GREEN = 5, BLUE, WHITE };,则 BLUE 和 WHITE 的值分别是( )。
{{ select(8) }}
- 1 和 2
- 2 和 3
- 6 和 7
- 5 和 6
- 在小端序的 64 位 PC 上编译运行第六节给出的程序,其第一行输出是( )。
{{ select(9) }}
- 1 2 3 4
- 4 3 2 1
- 0 0 0 4
- 1 0 0 0
- 仍然是第六节的程序,其第二行输出(即
sizeof(Box)的值)是( )。
{{ select(10) }}
- 4
- 5
- 8
- 16