请定义并实现一个有理数类,能实现以下功能

请定义并实现一个有理数类,能实现以下功能1有理数的加法运算2一个优化函数,它的作用是使有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)3一个将... 请定义并实现一个有理数类,能实现以下功能1 有理数的加法运算2 一个优化函数,它的作用是使有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)3 一个将有理数转换为实数的函数4 构造函数5 有理数输出函数
编写主函数测试类的功能1 输入若干个有理数,输出每个有理数对应的实数2 求有理数平均值,并以有理数、实数两种形式输出
展开
 我来答
你好可爱ghp
2018-03-26 · TA获得超过980个赞
知道小有建树答主
回答量:3015
采纳率:89%
帮助的人:284万
展开全部
你需要运算符重载么?还是用函数实现加减运算?我下面的程序没有用到运算符重载

rational.h //头文件
#ifndef _rational_h
#define _rational_h
#include <iostream>
using namespace std;
class Rational {
private:
int num;
int den;
void ReductFraction(); //将有理数化简成最简形式
public:
Rational(int a = 0, int b = 1) : num(a), den(b) { if (b == 0) cout << "分母为0!\n" ; }
void add(const Rational &r1, const Rational &r2);
void multi(const Rational &r1, const Rational &r2);
void display() { cout << num << '/' << den;}
};
#endif

rational.cpp //实现
#include "Rational.h“

//add函数将r1和r2相加,结果存于当前对象
void Rational::add(const Rational &r1, const Rational &r2) {
num = r1.num * r2.den + r2.num * r1.den;
den = r1.den * r2.den;
ReductFraction();
}

void Rational::multi(const Rational &r1, const Rational &r2)
{
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式