欢迎来到天天文库
浏览记录
ID:59587893
大小:190.00 KB
页数:8页
时间:2020-11-13
《C++程序设计运算符重载实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、....专业课程实验报告课程名称:面向对象程序设计(C++)开课学期:2015至2016学年第1学期专业:计算机科学与技术年级班级:13计科学生:侯瑄学号:0092实验教师:睿计算机与信息科学学院软件学院.资料........实验项目名称C++程序设计运算符重载实验时间2015.10.25实验类型□验证性□设计性□综合性一、实验目的和要求(1)掌握通过运算符重载实现多态性的方法;(2)学会运算符重载的成员函数法和友元函数法; (3)能区分单目运算符的前置与后置。.资料........二、实验容与设计(主要容,操作步骤、算法描述或程序代码)本次实验主要实现以下容:【项目容
2、】 定义一个复数类Complex,重载运算符“+”,“-”,“*”,“/”“++”“--”“>”“<”,使之能用于复数的加、减、乘、除、自增、自减、比较大小。运算符重载函数作为Complex类的成员函数。编程序,分别求两个复数之和、差、积、商、自增、自减、比较大小。 提示:注意复数的乘、除法计算。Ps:同时注意复数的显示。程序设计如下:(基于vs2010运行)//redown.cpp:定义控制台应用程序的入口点。#include"stdafx.h"#includeusingnamespacestd;classComplex{private:doubl
3、er,i;public:Complex(doubleR=0,doubleI=0):r(R),i(I){};Complexoperator+(Complexb);//L1复数加法Complexoperator-(Complexb);//L2复数减法friendComplexoperator*(Complexa,Complexb);//L3复数乘法friendComplexoperator/(Complexa,Complexb);//L4复数除法friendComplexoperator--(Complexa);//L5复数自减friendComplexoperator++
4、(Complexa);//L6复数自增friendbooloperator>(Complexa,Complexb);//L7复数的比较friendbooloperator<(Complexa,Complexb);voiddisplay();};//重载+and—ComplexComplex::operator+(Complexb){returnComplex(r+b.r,i+b.i);}ComplexComplex::operator-(Complexb){returnComplex(r-b.r,i-b.i);}//重载*Complexoperator*(Complex
5、a,Complexb){Complext;t.r=a.r*b.r-a.i*b.i;t.i=b.r*b.i+b.i*b.r;returnt;}//重载/.资料........Complexoperator/(Complexa,Complexb){Complext;doublex;x=1/(b.r*b.r+b.i*b.i);t.r=x*(a.r*b.r+a.i*b.i);t.i=x*(a.i*b.r-a.r*b.i);returnt;}//重载——Complexoperator--(Complexa){Complext;Complexy(1,1);t=a-y;returnt
6、;}//重载++Complexoperator++(Complexa){Complext;Complexy(1,1);t=a+y;returnt;}//重载>booloperator>(Complexa,Complexb){Complext;t=a-b;if((t.r>0)&&(t.i>0))return1;elsereturn0;}//重载7、lay(){cout<0)cout<<"+";.资料........if(i!=0)cout<
7、lay(){cout<0)cout<<"+";.资料........if(i!=0)cout<
此文档下载收益归作者所有