- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
湖南科技学院综合性实验指导书
实验名称:类的继承性
实验项目性质:综合
所涉及课程:C++面向对象程序设计
计划学时:6 学时
一、 实验目的
继承性是C++等面向对象程序设计的三大基本特征之一,通过综合性的实验设计,首先
让同学们了解派生类的定义,理解代码重用的基本原理,然后通过类型兼容规则学会“赋值
兼容性”,其次通过派生类构造函数的设计,了解派生类数据的初始化的形式,最后学会如
何解决派生类成员的二义性访问问题。通过综设实验对类的“is A”关系做个整体建构。
培养目标
(1)通过本次实验,希望同学们能够在理解类的封装机制的基础上,掌握继承性可实
现重用程序代码的优势;
(2 )熟练掌握类的三种继承权限对基类成员的吸收和访问属性改造;
(3 )学会设计类的类型兼容规则;
(4 )学会设计类的构造函数和析构函数;
(5 )学会解决派生类成员的访问二义性问题(类作用域标识和虚基类)。
二、 实验内容
综合实验内容:二选一或自拟题目
(1)设计雇员类(组合类),内嵌生日属性,对公司雇员进行薪水等管理。
(2 )设计储蓄账户类,对用户个人银行账户进行管理。
实验说明: 类的封装性综设实验分3 次实验(任务)完成,每次实验2 课时,完成
类的声明、定义和测试。任务一:类和对象,包含类的数据成员的定义、
类的成员函数的定义;任务二:构造函数和析构函数,关于类的构造函
数和析构函数的设计和测试;任务三:类的组合,主要关于组合类测试。
1、派生类和对象 (
参考资料:见第7 章讲义)——5.21.2015
演示:点类(Point )和圆类(Circle )
(1)设计点类,再定义圆类(继承点类),要求输出圆的圆心位置和半径。
任务(或自拟题目)
(1)设计点类,再定义圆类(继承点类),要求输出圆的圆心位置和半径。改变不同的
继承权限,并总结不同继承权限对派生类设计的影响。
设计要点
protected:
(1)基类数据的访问属性的设置 int x,y;
//思考:若把访问属性改为私有,派生类的设计有什//么不同?
void setXY(int x,int y){
(2 )基类数据的传入方法 this-x=x;
(未使用构造函数的情况下) this-y=y;
}
class Circle:public Point{
int radius; //x,y 直接继承实现
(3 )派生类的设计 // …圆心坐标+半径
}
//若把继承权限改为私有或保护,派生类的设计有什么不同?
void main() //公有继承可使用基类继承过来的接口
{
Circle c; //派生类对象
(4 )派生类的测试
c.setXYR(0,0,2);
文档评论(0)