- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验十三
1.实验目的
通过本次实验
(1)理解友元函数与运算符重载函数的概念;
(2)学会友元函数的定义与使用方法;
(3)掌握运算符重载函数的定义与使用方法;
2.实验要求
(1)编写实验程序
(2)在VC++运行环境中,输入源程序
(3)编译运行源程序
(4)输入测试数据进行程序测试;
(5)写出运行结果。
3.实验内容
(1)定义一个复数类,重载“-=”运算符,使这个运算符能直接完成复数的“-=”运算。分别用成员函数与友元函数编写运算符重载函数。在主函数中定义复数对象c1(10,20)、c2(15,30),进行c2-=c1的复数运算,并输出c1、c2的复数值。
(2)定义一个数组类Array,其私有数据成员为整型一维数组a[10]。通过构造函数给a[10]赋初值。用Show函数显示a[10]的元素值。用成员函数重载运算符“+”,直接实现两个一维数组对应元素相加的运算。在主函数中定义数组a、b分别为:
int a[10]={1,2,3,4,5,6,7,8,9,10}; int b[10]={4,5,6,7,8,9,10,11,12,13};
用Array定义三个数组对象arr1(a)、arr2(b)、arr3,执行arr3=arr1+arr2运算,输出arr3的数组元素值。
类似地,用友元函数重载运算符“+=”,实现复合赋值运算:arr1+=arr2,并输出arr1的元素值。
(3)定义一个人民币类Money,类中数据成员为元、角、分。用成员函数与友元函数重载“――”运算符,实现人民币对象的减1运算。在主函数中定义人民币对象m1=10元8角5分及对象m2、m3。对m1作前置“――”并赋给m2。对m1作后置“――”并赋给m3。显示m1、m2、m3的结果。
(4)定义描述字符串的类String,编写字符串运算符“+=”的重载函数,使运算符“+=”用于两个字符串联接操作,即用str1+=str2实现字符串函数strcat(str1,str2)的操作功能。要求分别用成员函数与友元函数编写运算符重载函数。在主函数中定义字符串对象 s1(software and )与s2(hardware),进行s1+=s2的字符串联接,并输出s1、s2的值。
4.解答参考
(1)成员函数
# include iostream.h
class Complex
{ private:
float Real,Image;
public:
Complex(float r=0,float i=0)
{ Real=r;Image=i;}
void Show(int i)
{ coutci= Real+Imageiendl;}
void operator +=(Complex c)
{ Real=Real+c.Real;
Image=Image+c.Image;
}
};
void main(void)
{ Complex c1(10,20),c2(15,30);
c1.Show(1);
c2.Show(2);
c2+=c1;
c2.Show(2);
}
友元函数
# include iostream.h
class Complex
{ private:
float Real,Image;
public:
Complex(float r=0,float i=0)
{ Real=r;Image=i;}
void Show(int i)
{ coutci= Real+Imageiendl;}
friend void operator +=(Complex c1,Complex c2);
};
void operator +=(Complex c1,Complex c2)
{ c1.Real=c1.Real+c2.Real;
c1.Image=c1.Image+c2.Image;
}
void main(void)
{ Complex c1(10,20),c2(15,30);
c1.Show(1);
c2.Show(2);
c2+=c1;
c2.Show(2);
}
程序运行结果:
c1=10+20i
c2=15+30i
c2=25+50i
(2)
(3)
# include iostream.h
# include math.h
class Money
{ private:
float Yuans,Jiaos,Fens;
您可能关注的文档
- 电子商务诚信研究.doc
- 电子元器件的命名.doc
- 电子科学与技术专业.doc
- 电影《人山人海》影评 (2).doc
- 电影文本成长心理学.doc
- 电气专业参考就业单位.doc
- 电瓶车电池不再有秘密.doc
- 电脑主要硬件配置知识.doc
- 电脑绘画作品要求及评审标准.doc
- 电视剧本样式:电视剧本写作要领.doc
- DB44_T 2607.4-2025 滨海蓝碳碳汇能力调查与核算技术指南 第4部分:盐沼.pdf
- DB43_T 3178-2024 烟叶农场建设管理要求.pdf
- DB37_T 4838-2025 含氢分布式综合能源系统运行优化指南.pdf
- DB37_T 4834-2025 高速公路集中养护工作指南.pdf
- DB44_T 2611-2025 城市排水管网有毒有害气体监测与风险分级管理技术标准.pdf
- DB44_T 2612-2025 竞赛类科普活动策划与实施服务规范.pdf
- DB43_T 2947-2024 烟草种子质量控制规程.pdf
- DB37_T 4836-2025 煤矿风量实时监测技术要求.pdf
- 叉车防撞系统,全球前22强生产商排名及市场份额(by QYResearch).docx
- 超滤膜,全球前18强生产商排名及市场份额(by QYResearch).docx
最近下载
- 文职技能岗工程机械维修试题.doc VIP
- 2024年江西·农商银行员工招聘真题.docx VIP
- 仪器名称:长春迪瑞 H-300 尿液分析仪型号: H-300.pdf VIP
- 2024年江西农商银行员工招聘真题.docx VIP
- 2023年广东工业大学软件工程专业《操作系统》科目期末试卷A(有答案).docx VIP
- 2024年江西·农商银行员工招聘笔试真题.docx VIP
- 人卫九版心血管PPT:第二章 心力衰竭.ppt
- 历年江西农商银行员工招聘笔试真题2024 .docx VIP
- 2024年江西•农商银行招聘真题.docx VIP
- 【人教版】四年级上册数学课件《平行与垂直》(共20张PPT).pptx
文档评论(0)