分数相加,例如输入两个分数分别是1/5 和7/20,它们相加后输出11/20。方法是先求出两个分数分母的最小公倍
数,通分后,再求两个分子的和,最后约简结果分数的分子和分母(如果两个分数相加的结果是4/8,
则必须将其约简成最简分数的形式1/2),即用分子分母的最大公约数分别除分子和分母。求m、n最大
公约数的一*种方法为:将m、n较小的一个数赋给变量k,然后分别用{k,k-1, k-2, ... 1}中的数(递,
减)去除m和n,第一个能把m和n同时除尽的数就是m和n的最大公约数。假定m、n的最大公约
数是div,则它们的最小公倍数就是mul=m*n/v。试建立- -个分数类Fract,完成两个分数相加的功能。具体要
求如下:
(1)私有数据成员
●int mol,den:mol为分子,den为分母。
(2)公有成员函数
●Fract (int a= =0,intb=1): 使用默认参数的构造函数,用a和b分别初始化分子mol、 分母den。.
●int ged (intm, intn): 求m、n的最大公约数。此函数供成员add()函数调用。
●Fract add (Fract f): 将参数分数f与对象自身相加,返回约简后的分数对象。
●void show():按照mol/den的形式在屏幕上显示分数。
(3)在主程序中定义两个分数对象fl和f2, 其初值分别是1/5和7/20, 通过fl调用成员函数add完
成fl和f2的相加,将得到的分数赋给对象f3,显示分数对象f3