- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 除颤仪的使用方法及操作流程PPT课件.pptx VIP
- (完整版)土建工程师招聘笔试题和答案.pdf VIP
- 网络意识形态工作.pptx VIP
- 2025广西公需科目考试答案(3套,涵盖95_试题)一区两地一园一通道建设;人工智能时代的机遇与挑战.pdf VIP
- 2025年班组长成本绩效管理能力竞赛考试题库资料500题(含答案).pdf VIP
- 除颤仪的使用方法及操作流程PPT课件.pptx VIP
- 六安市霍邱县2022-2023学年七年级下学期期中数学试题【带答案】.docx VIP
- 医防融合的课件.pptx VIP
- 生物大分子中IPTG的含量测定方法.pdf VIP
- 意识形态工作培训.pptx VIP
文档评论(0)