- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C 多态性实验报告含代码和结果截图
PAGE 3
实验报告
课程:
面向对象技术
学号:
姓名:
班级:
教师:
计算机科学与技术系
实验六 多态性
一、实验目的及要求
1.掌握运算符重载的方法;
2.掌握使用虚函数实现动态多态性。
二、实验环境
硬件:计算机 软件:Microsoft Visual C++
三、实验内容
声明一个车(vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。观察虚函数的作用。
四、实验结果(附截图)
五、总结
通过本次实验,我对虚函数、多态性有了进一步了解,对多态性也有了更深的认识,实验中还是有很多的问题不是很清楚,平时要认真学习好理论知识,这样才能在做实验时更好的理解代码,才能更快的改正自己调试时遇到的错误。
六、附录(源程序清单)
#includeiostream
using namespace std;
int sign=0;
class vehicle
{
public:
vehicle(float m,float w)
{
if(m240m0)
MaxSpeed=m;
else
{
cout汽车超速!endl;
sign=1;
return;
}
if(w500w0)
Weight=w;
else
{
cout汽车超重!endl;
sign=1;
return;
}
cout构造了一个vehicle对象endl;
}
virtual void Run() { coutvehicle Run 函数被调用endl;}
virtual void Stop(){ coutvehicle Stop 函数被调用endlendl;}
private:
float MaxSpeed;
float Weight;
}
class bicycle:virtual public vehicle
{
public:
bicycle(float h,float m,float w):vehicle(m,w)
{
if(h1.5h0)
Height=h;
else
{
cout自行车超高!endl;
sign=1;
return;
}
cout构造了一个bicycle对象endl;
}
void Run() { coutbicycle Run 函数被调用endl;}
void Stop(){ coutbicycle Stop 函数被调用endlendl;}
private:
float Height;
}
class motorcar:virtual public vehicle
{
public:
motorcar(float s,float m,float w):vehicle(m,w)
{
if(s2s0)
SeatNum=s;
else
{
cout摩托车超载!endl;
sign=1;
return;
}
cout构造了一个motorcar对象endl;
}
void Run() { coutmotorcar Run 函数被调用endl;}
void Stop(){ coutmotorcar Stop 函数被调用endlendl;}
private:
float SeatNum;
}
class motorcycle:public bicycle,public motorcar
{
public:
motorcycle(float h,float s,float m,float w):bicycle(h,m,w),motorcar(s,m,w),vehicle(m,w)
{
if(sign==0)
{
cout构造了一个motorcycle对象endl;
}
}
void Run() { coutmotorcycle Run 函数被调用endl;}
void Stop(){ coutmotorcycle Stop 函数被调用endlendl;}
};
void main ()
{
float m,w,h,s;
int p;
do{
sign=0;
cout请输入参数:endlendl;
cout汽车最高时速(km/h);
cinm;
cout汽车重量(t);
cinw;
cout自行车高度(m);
cinh;
cout摩托
您可能关注的文档
- 万物并育而不相害道并行而不相悖论苏轼的自然与人性观念.doc
- 《新法算书》中的行星模型以土星运动为例.doc
- 《 电路理论基础试题》.doc
- 中国文物的流失与回归问题研究的回顾与前瞻.doc
- VC手写体数字识别.doc
- 中国近代疾病史研究的回顾与反思.doc
- 高频电子线路课程设计选频网络的设计.doc
- 从政治学角度研究中国古代政治思想史中国古代政治思想史的线索与特色.doc
- 固体酸催化合成柠檬酸三丁酯的研究进展.doc
- 分离甲醇—水混合液的连续筛板精馏塔设计.doc
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)