第四章 课后习题

本文详细介绍了面向对象编程中的继承概念,包括基类与派生类的关系,C++的单继承和多继承,继承方式的访问权限,以及解决二义性的方法。此外,还探讨了赋值兼容规则、构造函数与析构函数的调用顺序,并通过代码实例展示了类之间的关系和成员访问。最后,设计了一个点、矩形和立方体的类层次结构,并进行了测试。
摘要由CSDN通过智能技术生成

一、填空题

(1)如类果类A继承了B,那么类A被称为     基     类,而类B被称为     派生     类。

(2)C++的两种继承为:   单继承     多继承   

(3)在默认情况下的继承方式为  私有继承方式  

(4)从基类中公有派生一个类时,基类的公有成员就成为派生类的  公有  成员,而这个基类的保护成员就成为派生类的  保护成员。

(5)C++提供了  多继承   机制,允许一个派生类可以继承多个基类,甚至这些基类是互不相关的。

(6)类X中的名字N 支配类Y中同名的名字N,是指类X以类Y为它的一个基类,这称为   支配规则   

(7)引进虚基类的目的是   解决二义性  

(8)在一个继承结构中,解决二义性的方法有   使用作用域运算符     引进虚基类  

二、选择题(至少选一个,可以多选)
(1)C++语言建立类族是通过( B )。
  A.类的嵌套   B.类的继承    C.虚函数     D.抽象类

(2) 继承是( CD )的方法。
  A.将特殊的类变成通用的类
  B.将通用的参数传送给特殊的类的对象
  C.将通用的类变成特殊的类
  D.将已有的类添加新的特性,但不重写它们

(3)继承的优点是( ABC )。
  A.扩大类的使用范围,更便于使用类库
  B.避免重写程序代码,提供有用的概念框架
  C.把类转化成有条理的层次结构
  D.通过继承的自然选择和重写使类进一步拓展

(4)下面叙述不正确的是( C )。
  A.基类的保护成员在保护派生类中仍然是保护的
  B.基类的保护成员在公有派生类中仍然是保护的
  C.基类的保护成员在私有派生类中仍然是保护的
  D.对基类的保护成员的访问必须是无二义性的

(5)派生类的对象对它的基类成员中( A )是可以访问的。
  A.公有继承的公有成员
  B.公有继承的私有成员
  C.公有继承的保护成员
  D.私有继承的公有成员

(6)( C )是可以访问类对象的私有数据成员的。

   A.该类的对象                          B.该类友元类派生的成员函数                                            C.类中的友元函数                       D.公有派生类的成员函数

(7)多继承是( B )。
   A.多个单继承的叠加 
   B.派生类有多个直接基类
   C.多个派生类有唯一的基类
   D.每个派生类最多只有一个直接基类,但它可以有多个间接基类

(8)关于多继承二义性的描述,( D )是错误的。
   A.派生类的多个基类中存在同名成员时,派生类对这个成员访向可能出现二义性
   B.由于二义性原因,一个类不能从同一个类中一次以上直接继承
   C.使用作用域运算符对成员进行限制可以解决二义性
   D.派生类和它的基类中出现同名函数时,派生类对这个成员函数的访问可能出现二义性

(9) 作用域运算符通常用来( AD )。  
   A.指定特定的类 
   B.指明从哪一个基类中导出来的
   C.在某些成员函数中限定静态变量的可视范围 
   D.解决二义性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值