實現結果如下圖所示:
**如下所示:
#include
using namespace std;
class rational
//只允許分子程式設計客棧為負數,若分母為負數則把負數挪到分子部分
//利用歐幾里得演算法將分數簡化
void rational::normalize()
//歐幾里得演算法
int a = abs(numerator);
int b = abs(denominator);
//求出最大公約數,a
//eg: a=12,b=9.
//t=3 a=9 b=3
//t=0 a=3 b=0
while (b > 0)
//分子、分母分別處以最大公約數
numerator /= a;
denominator /= a;}
//過載運算子函式是類的成員函式
//分數是先通分再加減
// a*d+b*c / b*d
rational rational::operator+(rational rhs)
rational rational::operator-(rational rhs)
rational rational::operator*(rational rhs)
rational rational::operator/(rational rhs)
//該函式是友元函式,因此不用加空間網域名稱
ostream& operator程式設計客棧 " << r2 << " = " << (r1 / r2) << endl;
system("pause");
return 0;}
ostream& operator<
本文標題: c++過載運算子實現分數加減乘除
本文位址:
C 分數的加減乘除(運算子過載)
題目描述fraction類的基本形式如下 要求如下 1.實現fraction類 common divisor 和contracted 函式體可為空,不實現具體功能。2.編寫main函式,初始化兩個fraction物件的,計算它們之間的加減乘除。輸入 第1行 依次輸入第1個和第2個fraction物件...
位運算子實現加減乘除
要用位運算來實現四則運算,不僅僅要知道 怎麼做,還需要先掌握位運算的幾個運算規律 1 n n 1 比如 3 4 2 獲取整數n的二進位制串中最後乙個1 n n n 1 n 3 去掉整數n的二進位制串中最後乙個1 n n 1 然後,我們就可以使用常規位運算並結合上面的運算規律來實現四則運算了。加法 a...
Js 運算子 加減乘除
1.加法 var box 1 2 3 var box 1 nan nan,有乙個為nan就為nan var box infinity infinity infinity var box infinity infinity infinity var box infinity infinity nan,...