面向对象实验4.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象实验4.doc

广州中医药大学信息技术学院 实 验 报 告 课程名称: 面向对象程序设计 专业班级: 2013级计算机科学与技术 学生学号: 2013081038 学生姓名: 周卓凯 实验成绩: 批改人: 课程类别: 必修( 限选□ 公选□ 其它□ 实验四:继承 实验类型:验证性实验 实验日期: [实验目的] 理解继承的软件重用形式、理解基类和派生类的概念 掌握继承的定义形式,能够通过继承已有的类来创建新的类 理解不同类型的继承成员的访问权限 掌握派生类构造函数、基类构造函数的执行次序 掌握虚基类的使用 [实验准备] 一、阅读课本138页内容,掌握单一继承中,派生类声明的一般形式。 二、阅读表4.1、4.2、4。3、4.4,掌握不同继承方式,基类成员在派生类以及派生类对象中的访问权限。 三、阅读课本164页内容,掌握多重继承中,派生类声明的一般形式。 四、阅读课本151、154、166页内容,掌握继承中,派生类构造函数的声明形式以及构造函数的执行次序。 五、阅读课本172、174页内容,掌握虚基类的声明形式以及初始化。 [实验题目] 1、完成课后习题4.12-4.18,并将结果粘贴在下方: 【4.12】 Constructor B1. Constructor B2. Constructor A. 3 2 1 【4.13】 主食=bread 副食=steak 【4.14】 0,0,0 1,0,0 3,6,9 【4.15】 constructor B1. constructor B2. constructor B3 1 2 4,3 【4.16】 12 【4.17】 (1,2) (5,6) (6,9) 【4.18】 class base1 class base2 class level2 class base2 class level1 class toplevel 2、二维平面上的点类TwoD定义如下: #includestdio.h class TwoD {private: int x,y; public: TwoD(int x,int y) { this-x=x; this-y=y; } int getX() { return x;} int getY() {return y;} void print() { printf(二维平面点%d,%d\n,x,y); } }; 请编写一个表示三维平面的点类ThreeD,它是TwoD的公有派生类。 测试函数如下 void main() { TwoD pointa(10,10); ThreeD pointb(20,10,30); pointa.print(); pointb.print(); } 输出结果: 要点: 1)公有派生类声明的方法 2)派生类构造函数除初始化本类新成员外,需为基类构造函数提供参数 3)派生类中重写print函数,得到新的输出信息。 4)派生类中对基类私有数据的访问需通过基类公有函数(接口函数)。 请在下方粘贴完整代码: #includestdio.h class TwoD { private: int x,y; public: TwoD(int x,int y) { this-x=x,this-y=y; } int getX(){return x;} int getY(){return y;} void print() { printf(二维平面点%d,%d\n,x,y); } }; class ThreeD:public TwoD { private: int z; public: ThreeD(int x,int y,int z):TwoD(x,y) { this-z=z; } void print() { printf(三位平面点%d,%d,%d\n,TwoD::getX(),TwoD::getY(),z); } }; void main() { TwoD pointa(10,10); ThreeD pointb(20,10,30); pointa.print(); pointb.print(); } 3、已知车类CVehicle定义如下: #includestdio.h class CVe

文档评论(0)

zhoubingchina + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档