问题 问答题

[说明] 建立一个分数类,使之具有下述功能:建立构造函数,它能防止分母为0,当分数不是最简形式时进行约分以及避免分母为负数。如

经过类Num(3,-6)的处理,转换为

经过类Num(8,10)的处理后,转换为

。 [C++代码] #include<iostream.h> #include<math.h> class Num { public: Num (int a,int b); private: int num1; int num2; }: Num:: Num (int a,int b) { if( (1) ) {cout<<"ERROR"<<endl;return; } int min=fabs(a)<fabs (b)fabs (a): fabs (b); int x=1; for (int i=1;i<=min;i++)if( (2) )x=i; a/=X; b/=x; if( (3) ) {a=-a;b=-b; } (4) (5) }

答案

参考答案:

解析:(1)b==0 (2)a%i==0&&b%i==0 (3)b<0 (4)num1=a; (5)num2=b;本题中的代码实现了简单的一个分数类的定义,它的构造函数中能防止分母为0,当分数不是最简形式时进行约分以及避免分母为负数。根据功能设计要求,仔细阅读代码可以知道a为分子,b为分母。(1)是判断分母b为零的处理;(2)处实现了当分数不是最简形式时进行约分;(3)处避免分母为负数;(4)、(5)处返回处理完毕的数据。

单项选择题
多项选择题