- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验八 友元和类运算符重载
实验八 友元运算符重载和类运算符重载
《C++程序设计》实验报告 题目:友元运算符重载和类运算符重载 姓名 日期 实验环境 Visual C++ 6.0 实验内容与完成情况
实验目的:
1,掌握运算符重载的必要性
2,掌握友元运算符重载的一般格式
3,掌握类运算符重载的一般格式
4,掌握重载后的运算符的使用格式
实验内容:
1,设计一个类
定义相关的数据成员和成员函数
重载加、减运算符,实现对象的加减运算
定义相关函数实现对象中数据的输出显示
2,定义成员函数时,将成员函数定义在类体之外
3,设计main函数
创建多个对象
进行对象的加减运算,并输出运算后对象的数据
并输出结果
源程序代码:
//类运算符的重载实现
#include iostream.h
class complex{
double real;
double image;
public: complex(double r=0,double i=0)
{
real=r; image=i;
cout构造complex对象real+imageiendl;
}
complex operator +(complex a)
{
cout开始+运算......endl;
double r=a.real +real;
double i=a.image+ image;
complex s(r,i);
cout完成+运算,实现复数相加操作......endl;
return s;
}
complex operator -(complex a)
{
cout开始-运算......endl;
double r=a.real - real;
double i=a.image - image;
complex s(r,i);
cout完成-运算,实现复数相减操作......endl;
return s;
}
void show()
{
cout对象中存放的复数值为:
real+imageiendl;
}
};
void main()
{
complex c1(5,3),c2(1,2),c3,c4;
c3=c2.operator+(c1);
c3.show();
c4=c1+c2;
c4.show();
}
运行结果截图:
//友元运算符的重载实现
#include iostream.h
class complex{
double real;
double image;
public: complex(double r=0,double i=0)
{
real=r; image=i;
cout构造complex对象real+imageiendl;
}
friend complex operator +(complex a,complex b)
{
cout开始+运算......endl;
double r=a.real +b.real;
double i=a.image+ b.image;
complex s(r,i);
cout完成+运算,实现复数相加操作......endl;
return s;
}
friend complex operator -(complex a,complex b)
{
cout开始-运算......endl;
double r=a.real - b.real;
double i=a.image - b.image;
complex s(r,i);
cout完成-运算,实现复数相减操作......endl;
return s;
}
void show()
{
cout对象中存放的复数值为:
real+imageiendl;
}
};
void main()
{
complex c1(5,3),c2(1,2),c3,c4;
c3=operator+(c1,c2);
c3.show();
c4=c1+c2;
c4.show();
}
程序运行结果
出现的问题
解决方案(列出遇到的问题和解决办法,列出未解决的问题)
第1页
您可能关注的文档
- 如何利用媒介素养促进初中数学教学.doc
- 如何制定企业经营计划管理制度.doc
- 如何刷博客访问量.doc
- 如何在一日活动中关注每一位幼儿.doc
- 如何在区域游戏中促进幼儿全面发展.doc
- 女性无须对更年期“逆来顺受”.doc
- 如何在教学中渗透读写结合训练.doc
- 如何在小学数学教学中处理好五个点.docx
- 如何在股市区分真假上涨.doc
- 如何在预装Vista的PC上安装XP并设置双重启动.doc
- 高校教师资格证之《高等教育心理学》能力测试备考题及答案详解(典优).docx
- 智能安防系统项目市场分析报告.docx
- 提升文旅资源的数字化转型与智能化发展水平.docx
- 高校教师资格证之《高等教育心理学》能力测试备考题及答案详解(各地真题).docx
- 美容设备市场细分领域分析:2025年产品创新与市场布局策略报告.docx
- 智能安防系统项目的市场分析报告.docx
- 高校教师资格证之《高等教育心理学》能力测试备考题及答案详解(各地真题).docx
- 高校教师资格证之《高等教育心理学》能力测试备考题及答案详解【考点梳理】.docx
- 高校教师资格证之《高等教育心理学》能力测试备考题及答案详解(名师系列).docx
- 运动医学医疗市场2025年增长预测报告:技术创新与行业机遇.docx
文档评论(0)