- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]
公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]
C上机实验报告实验六
实验六
实验目的
1.掌握运算符重载的方法
2.学习使用虚函数实现动态多态性
实验要求
1.定义Point类,有坐标_x,_y两个成员变量;对Point类重载“++”(自增)、“――”(自减)运算符,实现对坐标值的改变。
2.定义一个车(vehiele)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。观察虚函数的作用。
3. (选做)对实验4中的People类重载“==”运算符和“-”运算符,“==”运算符判断两个people类对象的id属性是否相等;“-”运算符实现People类对象的赋值操作。
实验内容及实验步骤
编写程序定义Point类,在类中定义整型的私有成员变量_x_y,定义成员函数Point operator++();Point operator++(int);以实现对Point类重载“++”(自增)运算符,定义成员函数Point& operator--();Point operator--(int);以实现对Point类重载“--”(自减)运算符,实现对坐标值的改变。程序名:1ab8_1.Cpp
#include iostream
using namespace std;
class Point
{
public:
Point();
Point(int x,int y);
~Point(){} (选做)对实验4中的People类重载“==”运算符和“-”运算符,“==”运算符判断两个people类对象的id属性是否相等;“-”运算符实现People类对象的赋值操作。
源程序:
#include iostream
#include string
using namespace std;
class Birthday{
public:
Birthday(int Year,int Month,int Day); nter();
}
for(t=0;t2;t++) how();
}
people p3; //定义people类的对象p3
p3-p[1]; //使用重载运算符将p[1]赋给p3
cout\n第3个人员信息如下:endl;
();
coutp[0],p[1];
p[0]==p[1]; //使用重载运算符-判断p[0]和p[1]的id是否相等
return 0;
}
运行结果:
思考题
如何将一个运算符重载为类的成员函数
一般语法形式:
返回类型 operator 运算符(形参表)
{
函数体
}
函数的参数个数比原来的曹祖数个数要少一个(后置“++”,“--”除外)。
如何将一个运算符重载为类的友元函数
一般形式:
friend 返回类型 operator 运算符(形参表)
{
函数体
}
运算所需的操作数都需要通过函数的形参表传递,在形参表中形参从左至右的顺序就是运算符操作数的顺序,仅在需要访问类的私有成员或保护成员时才定义为友元函数。
如何实现运行时刻的多态
通过继承和虚函数实现。
心得体会:
掌握了运算符重载的方法;运算符重载可以重载为类成员函数和非成员函数;学会了使用继承和虚函数实现运行时刻的多态;在实现动态多态时,必须使用基类类型的指针或引用,是该指针指向基类的不同派生类的对象,并通过该指针指向虚函数才能实现动态的多态性。如果未声明为虚函数,则普通的派生类的新成员函数会覆盖基类同名成员函数,将不能实现运行时刻多态性。
您可能关注的文档
最近下载
- 三调土地利用现状分类和三大地类对应.docx
- 日常生活能力量表(ADL)量表.docx VIP
- 围术期感染防控培训课件.pptx VIP
- (高清版)B-T 21109.1-2022 过程工业领域安全仪表系统的功能安全 第1部分:框架、定义、系统、硬件和应用编程要求.pdf VIP
- DLT 5219-2023 架空输电线路基础设计规程.pdf VIP
- 第六单元课外古诗词诵读 课件(共45张ppt)部编版语文九年级上册.pptx VIP
- 科学粤教粤科版六年级上册全册同步训练含答案.docx VIP
- 2.4 第二单元 混合运算 解决问题(1)(课件)2025-2026学年度人教版数学三年级上册.pptx VIP
- 2026中国地震局地质研究所招聘13人考试参考试题附答案解析.docx VIP
- 颈椎间盘突出--中医病历模板.doc VIP
原创力文档


文档评论(0)