实验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 派生与继承 实验目的:理解类的继承的概念,能够定义和使用类的继承关系。掌握派生类的声明与定义方法。熟悉公有派生类和私有派生类的访问特性。学习虚基类在解决二义性问题中的作用。 实验内容:编程实现:有一个汽车类Vehicle,它具有一个需传递参数的构造函数,还拥有保护数据成员车轮个数wheels和车重weight。小汽车类Car是Vehicle的私有派生类,其中包含载人数passengerLoad。卡车类Truck是Vehicle的私有派生类,其中包含载人数passengerLoad和载重量payload。每个类都有相关数据的输出函数Show()。在如下界面中显示信息 控制台参考程序: #include iostream // 编译预处理命令 using namespace std; // 使用命名空间std // 声明汽车类 class Vehicle { protected: // 保护成员 int wheel; // 车轮个数 double weight; // 车重 public: // 公有函数 Vehicle(int wh = 4, double wt = 1000): wheel(wh), weight(wt) { } void Show() const // 输出相关信息 { cout 车轮个数: wheel endl; cout 车重: weight 公斤 endl; } }; // 声明小汽车类 class Car: private Vehicle { private: // 私有成员 int passengerLoad; // 载人数 public: // 公有函数 Car(int wh = 4, double wt = 1000, int p = 5): Vehicle(wh, wt), passengerLoad(p) { } // 构造函数 void Show() const // 输出相关信息 { Vehicle::Show(); // 调用基类的Show() cout 载人数: passengerLoad endl; } }; // 声明卡车类 class Truck: private Vehicle { private: // 私有成员 int passengerLoad; // 载人数 double payload; // 载重量 public: // 公有函数 Truck(int wh = 4, double wt = 1000, int p = 5, double pay = 2000): Vehicle(wh, wt), passengerLoad(p), payload(pay) { } void Show() const // 输出相关信息 { Vehicle::Show(); // 调用基类的Show() cout 载人数: passengerLoad endl; cout 载重量: payload 公斤 endl; } }; int main() // 主函数main() { Vehicle v; // 定义对象 cout 汽车信息: endl; // 输出提示 v.Show(); // 输出信息 Car c; // 定义对象 cout endl 小汽车信息: endl; // 输出提示 c.Show(); // 输出信息 Truck t; // 定义对象 cout endl 卡车车信息: endl; // 输出提示 t.Show(); // 输出信息 system(PAUSE); // 调用库函数system( ),输出系统提示信息 return 0; // 返回值, 返回操作系统 } Vehicle.h”文件; Vehicle.h内容: // Vehicle.h: interface for the Vehicle class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_VEHICLE_H__4B9D36AF_8614_4103_9CA0_5B271F737D16__INCLUDED_) #define AFX_VEHICLE_H__4B9D36AF_8614_4103_9CA0_5B271F737D16__INC

文档评论(0)

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

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

1亿VIP精品文档

相关文档