(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...