C++习题3(继承和多态)_第1页
C++习题3(继承和多态)_第2页
C++习题3(继承和多态)_第3页
C++习题3(继承和多态)_第4页
C++习题3(继承和多态)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 习题习题 3 一 选择题一 选择题 1 在 C 中 类与类之间的继承关系具有 C A 自反性 B 对称性 C 传递性 D 反对称性 2 在公有继承的情况下 基类的成员 私有的除外 在派 生类中的访问权限 B A 受限制 B 保持不变 C 受保护 D 不受保护 3 按解释中的要求在下列程序划线处填入的正确语句是 C include class Base public void fun cout Base fun endl class Derived public Base public void fun 在此空格处调用基类的函 数 fun cout Derived fun fun 4 在保护继承的情况下 基类的成员 私有的除外 在派 生类中的访问权限 C A 受限制 B 保持不变 C 受保护 D 不受保护 5 在哪种派生方式中 派生类可以访问基类中的 protected 成员 B A public 和 private B public protected 和 private C protected 和 private D 仅 protected 6 当一个派生类仅有 protected 继承一个基类时 基类中的 所有公有成员成为派生类的 C 2 A public 成员 B private 成员 C protected 成员 D 友元 7 不论派生类以何种方法继承基类 都不能使用基类的 B A public 成员 B private 成员 C protected 成员 D public 成员和 protected 成员 8 下面叙述错误的是 S A 基类的 protected 成员在派生类中仍然是 protected 的 B 基类的 protected 成员在 public 派生类中仍然是 protected 的 C 基类的 protected 成员在 private 派生类中是 private 的 D 基类的 protected 成员不能被派生类的对象访问 9 下列说法中错误的是 S A 保护继承时基类中的 public 成员在派生类中仍是 public 的 B 公有继承时基类中的 private 成员在派生类中仍是 private 的 C 私有继承时基类中的 public 成员在派生类中是 private 的 D 保护继承时基类中的 public 成员在派生类中是 protected 的 10 下面叙述错误的是 C A 派生类可以使用 private 派生 B 对基类成员的访问必须是无二义性的 C 基类成员的访问能力在派生类中维持不变 D 赋值兼容规则也适用于多继承的组合 11 派生类的构造函数的成员初始化列表中 不能包含 C A 基类的构造函数 B 派生类中子对象 的初始化 C 基类中子对象的初始化 D 派生类中一般数 据成员的初始化 12 下列虚基类的声明中 正确的是 B 3 A class virtual B public A B class B virtual public A C class B public A virtual D virtual class B public A 13 实现运行时的多态性采用 D A 重载函数 B 构造函数 C 析构函数 D 虚函数 14 若一个类中含有纯虚函数 则该类称为 D A 基类 B 纯基类 C 派生类 D 抽象类 15 假设 A 为抽象类 下列声明 B 是正确的 A A fun int B A p C int fun A D A Obj 16 在派生类中 重载一个虚函数时 要求函数名 参数的 个数 参数的类型 参数的顺序和函数的返回值 B A 不同 B 相同 C 相容 D 部分相同 17 下面函数原型声明中 C 声明了 fun 为普通虚函数 A void fun 0 B virtual void fun 0 C virtual void fun D virtual void fun 18 在下面四个选项中 A 是用来声明虚函数的 A virtual B public C using D false 19 实现运行时的多态性要使用 D A 重载函数 B 构造函数 C 析构函数 D 虚函数 20 关于虚函数的描述中 正确的是 D A 虚函数是一个静态成员函数 B 虚函数是一个非成员函数 C 虚函数既可以在函数说明时定义 也可以在函数实现时 定义 D 派生类的虚函数与基类中对应的虚函数具有相同的参 数个数和类型 二 填空题 二 填空题 1 派生类对基类的继承有三种方式 public protected 和 private 2 如果类 Alpha 继承了类 Beta 则类 Alpha 称为 派生 4 类 类 Beta 称为 基 类 3 设置虚基类的目的是为了消除二义性 可通过 virtual 标识虚基类 4 类继承中 缺省的继承方式是 private 5 当用 protected 继承从基类派生 个类时 基类的 public 成员成为派生类的 protected 成员 protected 成员成为派生类的 protected 成员 6 指向基类的对象的指针变量也可以指向 公有派生公有派生 类类的对象 三 程序题三 程序题 1 继承的工作方式 完成以下代码 要求 1 处继承 方式为共有继承 public 2 处填写基类的 ai 3 处 填写派生类的 bi 4 对象 b 的数据成员有哪些 ai bi include include class A public A ai 1 protected int ai class B A public B bi 2 void display cout 2 3 endl private int bi int main 5 B b b display 2 派生类的构造 派生类的构造总是由基类的初始化开始 的 填写代码 完成基类的初始化 并且要求屏幕输出 效果是 include class A public A int i x i cout CA x endl A cout DA endl private int x class B public A public B A 90 y 0 cout CB endl B cout DB endl private int y int main B b 3 填写初始化列表 完成以下程序 使得屏幕输出 include class A public A int i x i cout x endl private int x 6 class D public D int i m i cout m endl private int m class B public A public B A 90 d 19 y 0 private int y D d int main B b 4 请问以下程序输出什么 include class A public A int i x i int x class B public A public B int i A i 1 y i int y void f1 A void f2 A pa cout x endl int main B b 3 f1 b f2 4 答案 答案 5 请问以下程序输出什么 include class A public void display cout A endl class B public A public void display cout B endl void f A int main B b 8 f b A a f a 5 答案 答案 6 多态性 虚函数 请问以下程序输出什么 include class A public virtual void display cout A endl class B public A public virtual void display cout B endl void f A int main B b f b A a f a 6 答案 答案 9 7 请问以下程序输出什么 include class A public virtual void display cout A endl class B public A public virtual void display cout B endl class C public A public virtual void display cout C endl int main A a aa B b C c cc ccc A pa 6 int i 0 for i 0 idisplay 答案 答案 8 以下程序的屏幕输出是 为何以下程序的屏幕输 出中会输出 DA 呢 请说明 include 10 class A public A cout DA class B public A public B cout DB int main B b 答案 定义类答案 定义类 B 对象对象 b 时 先调用基类时 先调用基类 A 的构造函数 的构造函数 再调用派生类类再调用派生类类 B 的构造函数 析构时正好相反 先析的构造函数 析构时正好相反 先析 构构 B 类 再析构类 再析构 A 类 类 1 答案 答案 1 public 2 ai 3 bi 4 ai bi 2 答案 答案 A 90 3 答案 答案 A 90 d 19 4 答案 答案 5 答案 答案 6 答案 答案 11 7 答案 答案 8 答案 定义类答案 定义类 B 对象对象 b 时 先调用基类时 先调用基类 A 的构造

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论