第八周專案三 分數類中的運算子過載(2)

2021-07-02 21:09:45 字數 3162 閱讀 6579

(2)在(1)的基礎上,實現分數類中的物件和整型數的四則運算。分數類中的物件可以和整型數進行四則運算,且運算符合交換律。例如:cfraction a(1,3),b; int i=2; 可以完成b=a+i;。同樣,可以完成i+a, 45+a, a*27, 5/a等各種運算。

* 檔名稱:test.cpp

* 完成日期:2023年 5 月 27 日

* 版 本 號:v1.0

*/#include #include using namespace std;

class cfraction

void simplify();

void display();

friend cfraction operator+(const cfraction &c1,const cfraction &c2); //兩個分數相加,結果要化簡

friend cfraction operator-(const cfraction &c1,const cfraction &c2); //兩個分數相減,結果要化簡

friend cfraction operator*(const cfraction &c1,const cfraction &c2); //兩個分數相乘,結果要化簡

friend cfraction operator/(const cfraction &c1,const cfraction &c2); //兩個分數相除,結果要化簡

friend cfraction operator+(const cfraction &c,int m);

friend cfraction operator-(const cfraction &c,int m);

friend cfraction operator*(const cfraction &c,int m);

friend cfraction operator/(const cfraction &c,int m);

friend cfraction operator+(int m,const cfraction &c);

friend cfraction operator-(int m,const cfraction &c);

friend cfraction operator*(int m,const cfraction &c);

friend cfraction operator/(int m,const cfraction &c);

cfraction operator+(); //取正一目運算

cfraction operator-(); //取反一目運算,即,取相反數

//判斷兩個分數的大小

friend bool operator>(const cfraction &c1,const cfraction &c2);

friend bool operator

friend bool operator==(const cfraction &c1,const cfraction &c2);

friend bool operator>=(const cfraction &c1,const cfraction &c2);

friend bool operator<=(const cfraction &c1,const cfraction &c2);

friend bool operator!=(const cfraction &c1,const cfraction &c2);

friend bool operator>(const cfraction &c,int m);

friend bool operator

friend bool operator==(const cfraction &c,int m);

friend bool operator>=(const cfraction &c,int m);

friend bool operator<=(const cfraction &c,int m);

friend bool operator!=(const cfraction &c,int m);

friend bool operator>(int m,const cfraction &c);

friend bool operator

friend bool operator==(int m,const cfraction &c);

friend bool operator>=(int m,const cfraction &c);

friend bool operator<=(int m,const cfraction &c);

friend bool operator!=(int m,const cfraction &c);

};\//分數化簡

void cfraction::simplify()

m=n; // deno/=n;

n=r; // nume/=n;

}deno/=m; //化簡分數

nume/=m;

if(deno<0) 將分母轉化為正數

}//顯示分數

學習心得:**大體的知道怎麼弄,就是有點內容多,實際不是很難,謝謝老師的模板,下次嘗試寫寫沒有模板的程式。繼續努力吧!

第八周 專案三 分數類中的運算子過載(1)

1 實現分數類中的運算子過載,在分數類中可以完成分數的加減乘除 運算後再化簡 比較 6種關係 的運算。可以在第4周分數類 的基礎上開始工作。檔名稱 test.cpp 作 者 冷基棟 完成日期 2015年 4 月 23 日 版 本 號 v1.0 include include using namesp...

第八周專案三 分數類中的運算子過載(一)

問題 1 實現分數類中的運算子過載,在分數類中可以完成分數的加減乘除 運算後再化簡 比較 6種關係 的運算。可以在第4周分數類 的基礎上開始工作。提示 class cfraction 過載函式的實現及用於測試的main 函式 解決 include include using namespace st...

第八周專案三分數類中的運算子過載(1)

問題及 檔名稱 test.cpp 作 者 郝俊宇 完成日期 2015年 5 月8 日 版 本 號 v1.0 問題描述 1 實現分數類中的運算子過載,在分數類中可以完成分數的加減乘除 運算後再化簡 比較 6種關係 的運算。可以在第4周分數類 的基礎上開始工作。輸入描述 無 程式輸出 對應的結果 inc...