#CSPJ26D12. 2026 年 8 月 CSP-J 初赛 22 日打卡 Day12|面向对象与联合体

2026 年 8 月 CSP-J 初赛 22 日打卡 Day12|面向对象与联合体

Day 12 面向对象与联合体

建议用时:15~25 分钟。请先完成自主学习,再独立提交本页答案。

今日学习资料

学习目标:完成当天知识点阅读与易错清单自查,然后作答下方选择题。

今日练习

  1. 在 C++ 中,若定义时不写任何访问权限修饰符,structclass 的成员默认访问权限分别是( )。

{{ select(1) }}

  • 都是 public
  • 都是 private
  • struct 是 public,class 是 private
  • struct 是 private,class 是 public
  1. 下列关于 C++ 构造函数与析构函数的说法, 错误 的是( )。

{{ select(2) }}

  • 构造函数的函数名必须与类名相同
  • 构造函数的返回值类型必须写成 void
  • 析构函数不能带参数,一个类中只能有一个析构函数
  • 对象被创建时自动调用构造函数,被销毁时自动调用析构函数
  1. 【CSP-J 2022 初赛】以下哪种功能没有涉及 C++ 语言的面向对象特性支持( )。

{{ select(3) }}

  • C++ 中调用 printf 函数
  • C++ 中调用用户定义的类成员函数
  • C++ 中构造一个 class 或 struct
  • C++ 中构造来源于同一基类的多个派生类
  1. 下列关于面向对象三大特性的说法,正确的是( )。

{{ select(4) }}

  • 封装要求把所有数据成员都写成 public,方便外部直接读写
  • 派生类可以直接访问基类中声明为 private 的成员
  • 一个类最多只能定义一个构造函数
  • 通过基类指针调用虚函数时,运行时会执行派生类重写后的版本
  1. 已知 int 占 4 字节、char 占 1 字节、double 占 8 字节。定义 union U { int a; char b; double c; };,则 sizeof(U) 的值是( )。

{{ select(5) }}

  • 4
  • 8
  • 13
  • 16
  1. 【CSP-J 2023 初赛】阅读下述代码,请问修改 data 的 value 成员以存储 3.14,正确的方式是( )。

{{ select(6) }}

  1. 沿用第 5 题的字节数假设,定义 struct S { int a; char b; double c; };,则 sizeof(S) 的值是( )。

{{ select(7) }}

  • 8
  • 13
  • 14
  • 16
  1. 有定义 enum Color { RED, GREEN = 5, BLUE, WHITE };,则 BLUE 和 WHITE 的值分别是( )。

{{ select(8) }}

  • 1 和 2
  • 2 和 3
  • 6 和 7
  • 5 和 6
  1. 在小端序的 64 位 PC 上编译运行第六节给出的程序,其第一行输出是( )。

{{ select(9) }}

  • 1 2 3 4
  • 4 3 2 1
  • 0 0 0 4
  • 1 0 0 0
  1. 仍然是第六节的程序,其第二行输出(即 sizeof(Box) 的值)是( )。

{{ select(10) }}

  • 4
  • 5
  • 8
  • 16