分數運算子過載(4)

2021-07-12 05:54:26 字數 2287 閱讀 6831



*all right reserved.

*檔名稱:test.cpp

*作    者:韓雙志

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

*版本號:v1.0

**問題描述:實現分數類中的運算子過載,在分數類中可以完成分數的加減乘除(運算後再化簡)、比較(6種關係)的運算。

*輸入描述:輸入兩組分數

*輸出描述:輸出6種的結果*/*

#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<

// 分數相減

cfraction cfraction:: operator-(const cfraction &c)

// 分數相乘

cfraction cfraction:: operator*(const cfraction &c)

// 分數相除

cfraction cfraction:: operator/(const cfraction &c)

// 分數取正號

cfraction cfraction:: operator+()

// 分數取負號

cfraction cfraction:: operator-()

// 分數取倒數

cfraction cfraction:: operator~()

return x;

}// 分數比較大小

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

// 分數比較大小

bool cfraction::operator

// 分數比較大小

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

// 分數比較大小

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

int main()

{cfraction x,y,s;

cout<

cin>>x;

cout<

cin>>y;

s=+x+y;

cout<

if (x*/

執行結果:

知識點結構:

分數運算子過載

學習心得

了解了分數運算子過載

分數運算子過載(3)

all right reserved.檔名稱 test.cpp 作 者 韓雙志 完成日期 2016年5月27日 版本號 v1.0 問題描述 實現分數類中的運算子過載,在分數類中可以完成分數的加減乘除 運算後再化簡 比較 6種關係 的運算,定義分數的一目運算 和 分別代表分數取正和求反,將 按位取反運...

分數運算子的過載

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

4 運算子過載

什麼是運算子過載 所謂過載,就是重新賦予新的含義。函式過載就是對乙個已有的函式賦予新的含義,使之實現新功能,因此,乙個函式名就可以用來代表不同功能的函式,也就是 一名多用 運算子也可以過載。1為什麼會用運算子過載機制 用複數類舉例 complex c3 c1 c2 原因 complex是使用者自定義...