05.多态_练习题.pptVIP

  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文档。上传文档
查看更多
05.多态_练习题05.多态_练习题

第5章 多态练习 第5章 多态_练习 part1 1、【基本题】定义一个Person类,它包含数据成员age, name和gender。从Person中派生一个类Employee,在新类中添加一个数据成员,存储个人的number.再从Employee中派生一个类Executive,每个派生类都应该定义一个函数,来显示相关的信息(名称和类型,如”Fred Smith is an Employee”)。编写一个main()函数,生成两个数组,一个数组包含5个Executive对象,另一个数组包含5个一般的Employee对象,然后显示它们的信息。另外,调用从Employee类继承的成员函数,显示Executive信息。 2.【基本题】设计一个图书管理系统,基类为类Book,要求有书名和作者属性, 由Book类派生子类AudioBook(有声书,需要具有演说者属性),对于Book和AudioBook进行合理的属性及行为的抽象,同时实现该类的print函数(注意,类体系中的每个类都要设计合适的构造函数和析构函数) 第5章 多态练习 第5章 多态_练习part2 -1/2 3.【基本题】定义了一个基类Animal, 它包含两个数据成员动物名称(string类型)和重量,还包含一个公共的虚拟成员函数who() 和一个纯虚函数sound(),公共的虚拟成员函数who(),返回一个string对象,在派生类中sound()应返回一个string对象,表示该动物发出的声音。把Animal类作为一个公共基类,派生三个子类Sheep,Dog和Cow,在每个类中实现sound()函数。定义一个类Zoo,它至多可以在一个数组中存储50种不同类型的动物(使用指针数组)。编写一个main()函数,创建给定数量的派生类对象的随机序列,在Zoo对象中存储这些对象的指针。使用Zoo对象的一个成员函数,输出Zoo中每个动物的信息,以及每个动物发出的声音。(注意使用多文件结构) 第5章 多态_练习part2 -2/2 4. 【基本题】 Shape类是一个表示形状的抽象类,其中GetArea()为求图形面积的纯虚函数。从Shape类派生三角形类(Triangle)、矩形类(Rectangle),椭圆类(Ellipse)并重写GetArea()函数完成求面积的功能。 GetTotalArea(…)则是一个用以求不同形状的图形面积总和的函数,完成该函数。 写出main函数:创建多个三角形或矩形或椭圆对象(个数不定,由用户的输入指定),并调用GetTotalArea()函数求出它们的总面积。(注意使用多文件结构) 提示: 1. GetTotalArea(…)应设计成全局函数 * 高质量C++编程练习题 多态练习: 第一部分 第二部分 时间:6 学时 教学方法:学员练习 多态练习: 第一部分 第二部分 时间:6 学时 教学方法:学员练习 #include iostream #include string using namespace std; class Book { public: Book( const string title, const string author ) : _title( title ), _author( author ){ cout Book::Book( _title , _author ) constructor\n; } ~Book(){ cout Book::~Book() destructor!\n; } virtual void print() const { cout Book::print() -- I am a Book object!\n My title is: _title \n My author is: _author endl; } const string title() const { return _title; } const string author() const { return _author; } protected: string _title; string _author; }; class AudioBook : public Book { public: AudioBook( const string title, const string

文档评论(0)

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

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

1亿VIP精品文档

相关文档