8 3 實現分數類中的運算子過載

2021-06-05 15:54:00 字數 1709 閱讀 9686

* 對任務及求解方法的描述部分

* 問題描述:實現分數類中的運算子過載,在分數類中可以完成分數的

* 加減乘除(運算後再化簡)、求反、比較(6種關係)的運算。

* 程式頭部的注釋結束

#includeusing namespace std;

class cfraction

;//建構函式,初始化用

cfraction::cfraction(int nu,int de)

//輸出分數

void cfraction::display()

//化簡(使分子分母沒有公因子)

void cfraction::simplify()

} cout << nume << "/" << deno << endl;

}//化簡(以4/3為例,輸出1(1/3),表示一又三分之一)

void cfraction::s_simplify()

} if(nume >= deno)

else }

//輸出:以8/6為例,style為0時,輸出8/6;

//style為1時,輸出4/3;

//style為2時,輸出1(1/3),表示一又三分之一;

//不給出引數和非1、2,認為是方式0

void cfraction::output(int style)

else if(style == 2)

else }

//定義分數加法

cfraction cfraction::operator+(cfraction &cf2)

//定義分數減法

cfraction cfraction::operator-(cfraction &cf2)

//定義分數乘法

cfraction cfraction::operator*(cfraction &cf2)

//定義分數除法

cfraction cfraction::operator/(cfraction &cf2)

//取反

cfraction cfraction::operator-()

//比較大小

bool cfraction::operator > (cfraction &cf2)

else

} bool cfraction::operator < (cfraction &cf2)

else

} bool cfraction::operator >= (cfraction &cf2)

else

} bool cfraction::operator <= (cfraction &cf2)

else

} bool cfraction::operator == (cfraction &cf2)

else

} bool cfraction::operator != (cfraction &cf2)

else

} void main()

執行結果:

感言:昨晚第二個感覺第三個比較輕鬆一些,同時在做第三個任務的時候,

想到第二個任務中有些漏洞,並及時的改正過來了,感覺。。。。

挺好!

分數類中的運算子過載

ifndef fraction h included define fraction h included include class cfraction cfraction const cfraction fraction nume fraction.nume deno fraction.deno...

分數類的運算子過載

問題及 檔名稱 test.cpp 作 者 李盈盈 完成日期 2015年 05 月 07 日 版 本 號 v1.0 問題描述 實現分數類的運算子過載,在分數中可以實現分數的加減乘除 運算後再化簡 比較的運算。輸入描述 無 程式輸出 按要求輸出。include using namespace std c...

分數運算子的過載

include using namespace std int fn int a,int b class fraction 分數類宣告 public 外部介面 fraction int fz 0,int fm 0 建構函式 friend fraction operator fraction c1,f...