没有合适的资源?快使用搜索试试~ 我知道了~
C++继承与派生类习题 (2).docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 77 浏览量
2023-02-27
20:09:42
上传
评论
收藏 45KB DOCX 举报
温馨提示
试读
17页
.
资源推荐
资源详情
资源评论
第九章继承与派生类
9.2 典型例题分析与解答
例题 1:下列对派生类的描述中,()是错误的。
A.一个派生类可以作为另一个派生类的基类
B.派生类至少有一个基类
C.派生类的成员除了它自己的成员外,还包含了它的基类成员
D.派生类中继承的基类成员的访问权限到派生类保持不变
答案:D
分析:一个派生类可以作为另一个派生类的基类。无论是单继承还是多继承,派生
类至少有一个基类。派生类的成员除了它自己的成员外,还包含了它的基类成员。
派生类中继承的基类成员的访问权限到派生类受继承方式影响的,对于私有继承,
基类的 public,protected 成员在派生类中作为 private 成员;对于公有继承,基
类的 public,protected 成员在派生类中访问属性不变;对于保护继承,基类的
public、protected 成员在派生类中作为 protected 成员。
例题 2:派生类的对象对它的哪一类基类成员是可以访问的?()
A.公有继承的基类的公有成员 B. 公有继承的基类的保护成员
C. 公有继承的基类的私有成员 D. 保护继承的基类的公有成员
答案:A
分析:公有继承的基类的公有成员在派生类中保持公有访问权限,所以派生类对象
可以访问它;公有继承的基类的保护成员在派生类中保持保护访问权限,所以派生
类对象不可以访问它;基类的私有成员不能被派生到派生类中,所以派生类对象不
可以访问它;保护继承的基类的公有成员在派生类中变成保护的访问权限,所以派
生类对象不可以访问它。
例题 3:关于多继承二义性的描述,()是错误的。
A.派生类的多个基类中存在同名成员时,派生类对这个成员访问可能出现二义
性
B.一个派生类是从具有共同的间接基类的两个基类派生来的,派生类对该公共
基类的访问可能出现二义性
C.解决二义性最常用的方法是作用域运算符对成员进行限定
D.派生类和它的基类中出现同名函数时,将可能出现二义性
答案:D
分析:出现二义性有两种情况:调用不同基类的相同成员时可能出现二义性;访问
共同基类的成员时可能出现二义性。消除二义性的方法是采用作用域运算符。派生
类和它的基类中出现同名函数时,不可能出现二义性。
例题 4:多继承派生类构造函数构造对象时,()被最先调用。
A.派生类自己的构造函数 B.虚基类的构造函数
C.非虚基类的构造函数 D.派生类中子对象类的构造函数
答案:B
分析:多继承派生类构造函数构造对象时,构造函数的调顺序是:虚基类的构造函
数,派生类中子对象类的构造函数,派生类自己的构造函数。
例题 5:C++类体系中,能被派生类继承的是()。
A.构造函数 B.虚函数 C.析构函数 D.友元函数
答案:B
分析:C++类体系中,构造函数、析构函数和友元函数是不能被派生类继承的.
例题 6:设有基类定义:
class Cbase
{private: int a;
protected: int b;
public: int c;
};
派生类采用何种继承方式可以使成员变量 b 成为自己的私有成员()
A.私有继承 B.保护继承
C.公有继承 D.私有、保护、公有均可
答案:A
分析:私有继承时,基类的 protected成员在派生类中作为 private成员。
例题 7:C++将类继承分为(1)和(2)两种。
答案:(1)单继承
(2)多继承
分析:派生类可以只从一个基类中派生,也可以从多个基类中派生。从一个基类中
派生的继承方式称为单继承。从多个基类中派生的继承方式称为多继承。
例题 8:派生类可以定义其_______________中不具备的数据和操作。
答案:基类
分析:派生类是从基类派生的,派生类包含了它所有基类的除构造函数、析构函数
之外的所有成员,同时还拥有它自己的新成员。
例题 9:派生类构造函数的初始化列表中包含____________________________。
答案:初始化基类数据成员、新增内嵌对象数据及新增一般成员数据所需要的全部
参数。
例题 10:在继承机制下,当对象消亡时,编译系统先执行(1)的析构函数,然后才
执行(2)的析构函数,最后执行(3)的析构函数。
答案:(1)派生类
(2)派生类中子对象类
(3)基类
分析:派生类的析构函数的执行次序与构造函数正好相反,先调用派生类的析构函
数,再调用派生类中子对象类的析构函数,最后调用基类的析构函数。
例题 11:设有以下类的定义:
class Aclass B: protected Aclass C: private B
{intA1;{int b1;{int c1;
protected:int A2;protected: int b2;protected: int c2;
public:int A3;public: int b3;public: int c3;
};};};
请按访问权限写出派生类 C 中具有的成员。
私有成员:(1)
保护成员:(2)
公有成员:(3)。
答案:(1)c1、b2、b3、A2、A3(2)c2(3)c3
分析:B类有它自己的私有成员 b1、保护成员 b2和公有成员有 b3,另外B类是以
保护方式从A类中派生出来的,所以A类保护成员A2 和公有成员 A3在B类中都变
成保护类型的;C类有自己的私有成员 c1、保护成员 c2和公有成员有 c3,C类是
以私有方式从 B 类中派生出来的,所以B类中的 b2、b3、A2和 A3在C类中都变成
私有的访问方式。
例题 12:指出并改正下面程序中的错误。
#include<iostream.h>
剩余16页未读,继续阅读
资源评论
xxpr_ybgg
- 粉丝: 6507
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Pytorch训练CIRAR10上分类算法.zip
- Pytorch-pytorch深度学习教程之Tensorboard.zip
- 基于C++和Python开发yolov8-face作为人脸检测器dlib作为人脸识别器的人脸考勤系统源码+项目说明.zip
- Pytorch-pytorch深度学习教程之变分自动编码器.zip
- Pytorch-pytorch深度学习教程之神经风格迁移.zip
- Pytorch-pytorch深度学习教程之深度残差网络.zip
- Pytorch-pytorch深度学习教程之循环神经网络.zip
- Pytorch-pytorch深度学习教程之逻辑回归.zip
- Pytorch-pytorch深度学习教程之双向循环网络.zip
- Pytorch-pytorch深度学习教程之卷积神经网络.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功