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

2021-07-02 15:59:55 字數 1701 閱讀 5825

問題及**:

/*

*檔名稱:project.cpp

*作 者:chenqin.

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

*版 本 號:v1.0

**問題描述:(1)定義分數的一目運算+和-,分別代表分數取正和求反,將「按位取反運算子」~過載為分數的求倒數運算。

(2)定義分數類中《和》運算子過載,實現分數的輸入輸出,改造原程式中對運算結果顯示方式,使程式讀起來更自然。

*程式輸入:略

*程式輸出:略

*/#include #include using namespace std;

class cfraction

//建構函式,初始化用

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

friend istream &operator>>(istream &in,cfraction &x);

friend ostream &operator<

cfraction operator+(const cfraction &c);

cfraction operator-(const cfraction &c);

cfraction operator*(const cfraction &c);

cfraction operator/(const cfraction &c);

cfraction operator-();//反一目運算子

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

cfraction operator~();//倒數一目運算子

bool operator>(const cfraction &c);

bool operator

bool operator==(const cfraction &c);

bool operator<=(const cfraction &c);

bool operator>=(const cfraction &c);

bool operator!=(const cfraction &c);

};void cfraction::simplify() //分數化簡

deno/=n;

nume/=n;

if(deno<0)

}//過載運算子「>>」「<

istream &operator>>(istream &in,cfraction &x)

return cin;

}ostream &operator<

bool cfraction::operator

bool cfraction::operator==(const cfraction &c)

bool cfraction::operator!=(const cfraction &c)

int main()

{ cfraction x,y,z;

cout<

cin>>x;

cout<

cin>>y;

z=x+y;

cout<

cout<

執行結果:

學習心得:

注意friend ostream &operator<

第九周 專案三 分數類

檔名稱 完成日期 2014年4月28日 版本號 v0.1 對任務及求解方法的描述部分 輸入描述 無 問題描述 實現分數類中的運算子過載 程式輸入 程式輸出 問題分析 演算法設計 我的程式 include include using namespace std class cftra void sim...

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

在分數類中的運算子過載基礎上 1 定義分數的一目運算 和 分別代表分數取正和求反,將 按位取反運算子 過載為分數的求倒數運算。2 定義分數類中 和 運算子過載,實現分數的輸入輸出,改造原程式中對運算結果顯示方式,使程式讀起來更自然。檔名稱 test.cpp 作 者 冷基棟 完成日期 2015年 5 ...

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

在分數類中的運算子過載基礎上 1 定義分數的一目運算 和 分別代表分數取正和求反,將 按位取反運算子 過載為分數的求倒數運算。2 定義分數類中 和 運算子過載,實現分數的輸入輸出,改造原程式中對運算結果顯示方式,使程式讀起來更自然。include include using namespace st...