分數類中的運算子過載

2021-07-22 14:50:15 字數 2769 閱讀 3518

#ifndef fraction_h_included

#define fraction_h_included

#include 

class

cfraction  

cfraction(const

cfraction &fraction):nume(fraction.nume),deno(fraction.deno){}

//拷貝建構函式

//分數的四則運算

cfraction operator+(cfraction& frac);  

cfraction operator-(cfraction& frac);  

cfraction operator*(const

cfraction& frac);  

cfraction operator/(const

cfraction& frac);  

//分數和整數的四則運算

cfraction operator+(int

frac);  

cfraction operator-(int

frac);  

cfraction operator*(const

intfrac);  

cfraction operator/(const

intfrac);  

//一目運算子

cfraction operator+();//取正

cfraction operator-();//取反

cfraction operator~();//取倒數

private

:  void

correct();

//保持負號在分子上

void

same(cfraction& num);

//通分

void

reduction();

//化簡自己

intgreatestcommondivisor(

int, 

int);

//最大公約數

intnume;

//分子

intdeno;

//分母

};  

#endif // fraction_h_included

fraction.cpp

[cpp]

view plain

copy

#include "fraction.h"

//輸入輸出運算子的過載放在標頭檔案會出錯

std::istream& operator>>(std::istream& is, cfraction& obj)  

std::ostream& operator<

//通分是兩個分數物件,化簡是乙個分數

intcfraction::greatestcommondivisor(

intnum1, 

intnum2)

//最大公約數

return

num2;  

}  void

cfraction::reduction()

//化簡自己

void

cfraction::same(cfraction& num)

//通分

void

cfraction::correct()  

}  //分數和之間的四則元算

cfraction cfraction::operator*(const

cfraction& frac)  

cfraction cfraction::operator/(const

cfraction& frac)  

cfraction cfraction::operator+(cfraction& frac)  

cfraction cfraction::operator-(cfraction& frac)  

//分數和整數的四則運算

cfraction cfraction::operator*(int

frac)  

cfraction cfraction::operator/(int

frac)  

cfraction cfraction::operator+(int

frac)  

cfraction cfraction::operator-(int

frac)  

//整數和分數的四則運算

cfraction operator*(int

ifrac, cfraction& ffrac)  

cfraction operator/(int

ifrac, cfraction& ffrac)  

cfraction operator+(int

ifrac, cfraction& ffrac)  

cfraction operator-(int

ifrac, cfraction& ffrac)  

//一目運算子

cfraction cfraction::operator+()  

cfraction cfraction::operator-()  

cfraction cfraction::operator~()    

main.cpp

[cpp]

view plain

copy

#include "fraction.h"

using

namespace

std;  

intmain()  

分數類的運算子過載

問題及 檔名稱 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...

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

對任務及求解方法的描述部分 問題描述 實現分數類中的運算子過載,在分數類中可以完成分數的 加減乘除 運算後再化簡 求反 比較 6種關係 的運算。程式頭部的注釋結束 includeusing namespace std class cfraction 建構函式,初始化用 cfraction cfrac...