重载

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

昆明理工大学理学院

信息与计算科学专业操作性实验报告

年级:2015级姓名:郭峰学号:201511101105 指导教师:张志坚

实验课程名称: C++程序设计开课实验室:理学楼210

实验内容:

1.实验/作业题目:

用运算符重载写一个分数的四则运算

2.实验/作业课时:

两课时

3.实验过程(包括实验环境、实验内容的描述、完成实验要求的知识或技能):

实验环境:机房

实验内容:

用运算符重载写一个分数的四则运算,四则运算包括加减乘除,要对

四个运算符进行重载,重载运算符要用上operator做声明,细节要

注意

完成实验要求的知识或技能:

1、学会如何构造函数

2、学会定义一个运算符重载

3、了解重载的本质就是函数的重载

4、要理解运算符重载可以加上友元函数更加明了

5、逻辑关系的理解。

4.程序结构(程序中的函数调用关系图)

#include

using namespace std;

class fenshu

{ public:

void input(); 输入函数成员

friend fenshu operator+(fenshu &c1,fenshu &c2);定义为友元函数, friend fenshu operator-(fenshu &c1,fenshu &c2);重载函数

friend fenshu operator*(fenshu &c1,fenshu &c2);

friend fenshu operator/(fenshu &c1,fenshu &c2);

void display();

private:

int fenzi;

int fenmu;

char fenshuxian; 数据声明

};

void fenshu::input()

{

//cout<<"请输入两个分数:";

cin>>fenzi;

cin>>fenshuxian;

cin>>fenmu;

}

fenshu operator+(fenshu &c1,fenshu &c2) 友元函数可以不作为

类的成员可

以较好地调

{

fenshu c;

c.fenzi=c1.fenmu*c2.fenzi+c2.fenmu*c1.fenzi;

c.fenmu=c1.fenmu*c2.fenmu;

c.fenshuxian=c1.fenshuxian;

return c;

}

fenshu operator-(fenshu &c1,fenshu &c2)

{

fenshu c;

c.fenzi=c1.fenmu*c2.fenzi-c2.fenmu*c1.fenzi;

c.fenmu=c1.fenmu*c2.fenmu;

c.fenshuxian=c1.fenshuxian;

return c;

}

fenshu operator*(fenshu &c1,fenshu &c2)

{

fenshu c;

c.fenzi=c1.fenzi*c2.fenzi;

c.fenmu=c1.fenmu*c2.fenmu;

c.fenshuxian=c1.fenshuxian;

return c;

}

fenshu operator/(fenshu &c1,fenshu &c2)

{

fenshu c;

c.fenzi=c1.fenzi*c2.fenmu;

c.fenmu=c1.fenmu*c2.fenzi;

c.fenshuxian=c1.fenshuxian;

return c;

}

void fenshu::display()

{

cout<

}

int main()

{fenshu c1,c2,c3,c4,c5,c6;

cout <<"请输入两个分数:"<

c1.input();

c2.input();

c3=c1+c2;

c4=c1-c2;

c5=c1*c2;

c6=c1/c2;

cout<<"c1+c2=";c3.display();

cout<<"c1-c2=";c4.display();

cout<<"c1*c2=";c5.display();

cout<<"c1/c2=";c6.display();

}

5.算法描述、流程图或操作步骤:

6.实验数据和实验结果(用屏幕图形表示,可另加附页):结果

程序输出结果是采用dev –c++编译器编译,界面与VC有所不同;Dev比VC编译功能更加强大。

7.改进建议:

本程序可以实现分数加减乘除,但是不能化简为最简分数,因为化简为最简的要找到最大公约数,会大大增加程序复杂度,但也会得到较好的评价。

评分标准学风--报告格式规范,文字清晰观察能力--正确描述和理解需要操作的问题

操作能力--正确输入程序,熟悉编程环境调试能力--熟练使用调试功能解决程序错误

相关文档
最新文档