欢迎来到天天文库
浏览记录
ID:30928628
大小:75.50 KB
页数:12页
时间:2019-01-04
《高级程序设计c++类与对象试验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、上海电力学院实验报告课程名称髙级程序设计C++(2)实验项目实验一类与对象(1)姓名学号班级专业信息安全同组人姓名无指导教师姓名XX实验H期••••••••T■■■■■■■■■■■■■■■■•■■■■■■■■■■■■■■■■■■■■■■■■■■••••••••••••••••••••••••••••••••••••••••••••一、实验目的>this指针的应用>掌握构造函数和析构函数的含义与作用、定义方式和实现。>掌握调用构造函数和析构函数执行的顺序>掌握组合对象的定义、初始化与使用>了解组合对象屮构造函数和析构函数执行的顺序二、实验内容和步骤编程序并上机调试运行。1.编写一个
2、有理数类,要求包括各种构造函数。通过成员函数实现两个有理数的加减等功能(假设有两个已定义好的有理数对象,dl和d2,使用时是以dl.add(d2)的形式进行运算)。•程序源代码(注意添加注释)#includeusingnamespacestd;classRational{public:Rational(intxx=0,intyy=l);Rationaladd(Rationalm);Rationalminus(Rationalm);intgetNum(){returnnumerator;}intgetDenomO{feturndenominator;}voids
3、how(){cout<
4、tor=numerator*m.denominator+denominator*m.numerator;res.denominator=denominator^m.denominator;〃下而对分子分母进行约分//辗转相除法求8,b的最大公因子inta,b,r;a=abs(res.numerator);//abs函数:求绝对值b=abs(res.denominator);if(a<=b){//交换a和b的值r=a;a=b;b=r;}r=a%b;while(r!=0){a=b;b=r;r=a%b;}//最大公因子为b,分子和分母均约去这个最大公因子res.numerator/二b
5、;res.dcnominator/=b;returnres;}RationalRational::minus(Rationalm){Rationalres;//a/b-c/d=(a*d-b*c)/(b*d)res.numcrator=nunicrator*m.denominator-denominator*m.numerator;res.denominator=denominator*m.denominator;〃下面对分子分母进行约分//辗转相除法求3,b的最大公因子inta,b,r;a=abs(res.numerator);//abs函数:求绝对值b=abs(res.deno
6、minator);if(a<=b){//交换a和b的值r=a;a=b;b=r;}r=a%b;while(r!=0){a=b;b=r;r=a%b;}//最大公因子为b,分子和分母均约去这个最大公因子res.numerator/=b;res.denominator/=b;returnres;}intmain(){Rationala(3,4),b(-1,3),resultl,result2;//计算a+b,结果放在resultl里result1=3.add(b);//输出a.show();cout<7、〈〈endl;//计算a-b,结果放在result2里result2=a.minus(b);//输出a.show();cout«;b.show();cout«"二";result2.show();cout〈〈endl;return0;•运行结果(直接截取结果图)1.定义一个类,定义其构造函数和析构函数。在主函数中定义类的对象,观察构造函数和析构函数的执行过程。•程序源代码(注意添加注释)#includeusingnamespacestd;classA{intx
7、〈〈endl;//计算a-b,结果放在result2里result2=a.minus(b);//输出a.show();cout«;b.show();cout«"二";result2.show();cout〈〈endl;return0;•运行结果(直接截取结果图)1.定义一个类,定义其构造函数和析构函数。在主函数中定义类的对象,观察构造函数和析构函数的执行过程。•程序源代码(注意添加注释)#includeusingnamespacestd;classA{intx
此文档下载收益归作者所有