- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三 继承和类的派生
实验三 类的派生与继承实验目的和要求 1 掌握继承和派生类的概念。 2 掌握派生类对基类的继承。 3 了解多继承。 实验内容 1. 编写一个程序,其中有一个书类book,其数据包括书号、书名、定价、出版社及出版时间:有一个作者类author,其数据成员包括姓名、年龄和写作时间,每个类都有相应的输入输出。以此两个为基类派生出图书查询卡card,并增加一个数据成员表示书籍系统名称,以及一个可以显示系统名称、书名、作者、作者年龄、出版时间、出版社和定价等数据的函数。 2. 设计一个大学的类系统,学校中有学生、教师,每种人员都有自己的特性,他们之间有相同的地方(以 person 类为基类,有姓名、编号),又有各自不同的特性(学生:专业、平均成绩;教师:职称、工资)。利用继承机制定义这个系统中的各个类,要求输入姓名等信息后再将这些信息输出。 实验原理:继承与派生的概念及目的;派生类大的声明方式、构成以及访问属性;多继承的声明方法;含有子对象的派生类的声明方式以及执行顺序;实验内容一:编程思想:编程过程中考虑到过程较为复杂,我采用了分步、分块编程的方法,使得程序的功能逐步地实现。程序的基本框架如下: 第一步:因为考虑到book和author中都需要输入和时间有关的变量,所以将时间作为它们共同的基类,向它们传递时间变量的属性。Time类是一个比较基本的类的建立,在第一章中已经可以较为熟练地掌握。第二步:实现书籍基本信息的输入和输出。此步中用到了继承,因为此类中需要建立出版时间,所以建立了一个Time类的对象:bpubt。在Book类中设计数据的输入输出函数,并在输入输出函数中通过对象bpubt调用时间类的输入输出函数。编程过程中,Book类的功能通过以下代码实现,并检查运行结果无误。#includeiostream#includestdlib.h#includestringusing namespace std;class Time {private: int day; int month; int year;public:Time(int d=0,int m=0,int y=0) { day=d; month=m; year=y; } void setin() { cout请输入时间:endl; cindaymonthyear; } void setout() {coutday/month/yearendl;} };class book:public Time{private: float bp; int bnum; string bname; string bpubl; Time bpubt;public: void setin() {cout请输入书的简单情况:endl; cinbnumbnamebpbpubl; bpubt.setin();} void setout() {coutbnumendl; coutbnameendl; coutbpendl; coutbpublendl; bpubt.setout();}};int main(){ book book1; book1.setin(); book1.setout(); system(PAUSE); return 0;}运行结果:在编写过程中遇到字符串的输入问题,通过调用头文件#includestring.h得以解决。第三步:在编写好Book类以及处理好Book类与Time类之间的关系后,author类的处理就变得比较简单。同样,设计好author类的输入输出函数,在输入输出函数中通过建立Time类writime来调用Time类的输入输出函数。第四步:建立card类,其中包含card类自身的输入输出函数。同时,建立card类和Book类、author类之间的继承、派生关系。在card类中,通过建立Book和author类来实现对于这两个基类的输入输出函数的调用。第五步:建立主函数main(),在主函数中建立card类的对象,并实现对于对象输入输出函数的调用。程序代码:#includeiostream#includestdlib.h#includestringusing namespace std;class Time {private: int day; int month; int year;public:Time(int d=0,int m=0,int y=0) { day=d; month=m; year=y; } void setin() { cout请输入时间:endl; cindaymonthyear; } void setout(){coutday/month/yearendl;} };class book:public Time{private: floa
文档评论(0)