欢迎来到天天文库
浏览记录
ID:38718986
大小:596.00 KB
页数:6页
时间:2019-06-18
《类与对象的基本概念(1)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、深圳大学实验报告课程名称:C++程序设计实验项目名称:类与对象的基本概念学院:信息工程学院专业:通信工程指导教师:张力报告人:学号:2011130151班级:2班实验时间:2013年11月21日实验报告提交时间:2013年12月5日教务处制实验目的与要求:1.练习实践教程P27范例,自定义一个集合类set,采用数组存放集合的元素。体会和熟悉面向对象的基本概念和类的定义方法,类成员的访问权限及访问类成员的方法。2.实践教程P31编程:建立一个分数类。分数类的数据成员包括分子和分母,操作包括显示、输入、约分、通分、比较、加、减、乘、除、求相反数。方法、步骤:1.打开VC+
2、+,选择file
3、new菜单,单击project标签,打开其选项卡,选择win32consoleapplication工程类型,在projectname文本框中输入工程名4_1,在location文本框中输入工程路径,单击OK按钮,在弹出的对话框中选择anemptyproject,单击finish按钮。2.选择file
4、new菜单,单击files选项卡,选择C++sourcefile,在file文本框中输入文件名4_1.cpp,选中addtoproject复选框,单击OK按钮。3.打开源文件编辑窗口,按要求画出的流程图进行编写代码。编写完成后,保存,编译。若编译无错误,
5、则链接,执行。若出现错误,则根据error框显示的错误逐行进行修正。执行过程中,若产生死循环,则应回到源程序找出错误,直至符合要求为止。实验过程及内容:实验代码:#include#includeusingnamespacestd;classfraction{intabove;//分子intbelow;//分母voidreduction();//约分voidmakeCommond(fraction&);//通分public:fraction(inta=0,intb=1){above=a;below=b;}//构造函数fractionadd
6、(fraction);//两分数相加fractionsub(fraction);//本分数减去实参分数fractionmul(fraction);//两分数相乘fractiondiv(fraction);//本分数除以实参分数fractionreciprocal();//求倒数boolequal(fraction);//等于运算boolgreaterThan(fraction);//大于运算boollessThan(fraction);//小于运算voiddisplay();//显示分数voidinput();//输入分数};voidfraction::reductio
7、n(){//约分先求最大公约数inta,b,temp;if(below<0){below=-below;above=-above;}a=abs(above);//abs求绝对值函数b=abs(below);while(a%b){temp=a;a=b;b=temp%b;}above/=b;below/=b;}voidfraction::makeCommond(fraction&b){//通分inttemp;reduction();b.reduction();above*=b.below;b.above*=below;temp=below*b.below;below=b.b
8、elow=temp;}fractionfraction::add(fractionb){//两分数相加fractiontemp;makeCommond(b);//通分temp.above=above+b.above;temp.below=below;temp.reduction();//约分returntemp;}fractionfraction::sub(fractionb){//本分数减去实参分数fractiontemp;makeCommond(b);//通分temp.above=above-b.above;temp.below=below;temp.reducti
9、on();//约分returntemp;}fractionfraction::mul(fractionb){//两分数相乘fractiontemp;temp.above=above*b.above;temp.below=below*b.below;temp.reduction();//约分returntemp;}fractionfraction::div(fractionb){//本分数除以实参分数fractiontemp;if(b.above==0){cout<<"零不能作除数!"<
此文档下载收益归作者所有