欢迎来到天天文库
浏览记录
ID:38718997
大小:86.00 KB
页数:8页
时间:2019-06-18
《类与对象的基本概念 深圳大学 实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、深圳大学实验报告课程名称:面对对象程序设计实验项目名称:类与对象的基本概念学院:信息工程学院专业:无指导教师:骆剑平报告人:XXX学号:201413XXXX班级:一班实验时间:2015.11.13实验报告提交时间:2015.11.27教务部制一.实验目的与要求:类是C++扩展数据类型,可以封装不同类型的数据成员和函数成员,类是面对对象程序设计的基础。通过本次试验要求掌握以下内容:1.掌握面对对象的基本概念和类的定义方法。2.掌握类成员的访问权限以及访问类成员的方法。3.掌握内联函数和默认函数。4.掌握构造函数与析构函数的意义以
2、及使用方法。二.实验内容编程:建立一个分数类。分数类的数据成员包括分子和分母,操作包括约分、通分、加、减、乘、除、求倒数、比较、显示和输入。分数类的定义如下:classfraction{intabove;//分子intbelow;//分母voidreduction();//约分voidmakeCommond(fraction&);//通分public:fraction(int=0,int=1);//构造函数fractionadd(fraction);//两分数相加fractionsub(fraction);//本分数减去实参分数
3、fractionmul(fraction);//两分数相乘fractiondiv(fraction);//本分数除以实参分数fractionreciprocal();//求倒数boolequal(fraction);//等于运算boolgreaterThan(fraction);//大于运算boollessThan(fraction);//小于运算voiddisplay();//显示分数voidinput();//输入分数};三.实验过程及内容:#include#includeusingname
4、spacestd;classfraction{intabove;//分子intbelow;//分母voidreduction();//约分voidmakeCommond(fraction&);//通分public:fraction(inta=0,intb=1){//构造函数above=a;below=b;}fractionadd(fraction);//两分数相加fractionsub(fraction);//本分数减去实参分数fractionmul(fraction);//两分数相乘fractiondiv(fraction);
5、//本分数除以实参分数fractionreciprocal();//求倒数boolequal(fraction);//等于运算boolgreaterThan(fraction);//大于运算boollessThan(fraction);//小于运算voiddisplay();//显示分数voidinput();//输入分数};voidfraction::reduction(){//约分先求最大公约数inta,b,temp;if(below<0){above=-above;below=-below;}a=abs(above);b=
6、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.below=temp;}fractionfraction::add(fractionb){fractiontemp;makeC
7、ommond(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.reduction();//约分returntemp;}fractionfraction::mul(fractionb){fract
8、iontemp;temp.above=above*b.above;temp.below=below*b.below;temp.reduction();//约分returntemp;}fractionfraction::div(fractionb){fractio
此文档下载收益归作者所有