運算子過載例子分數加減乘除,賦值,輸入輸出比較大小

2021-10-12 00:16:01 字數 1054 閱讀 8821

//有理數類的運算子過載 

#include

using

namespace std;

class

rational

;int rational::count =0;

//靜態成員在類外進行初始化

rational::

rational()

rational::

rational

(const rational& r)

rational::

~rational()

ostream&

operator

<<

(ostream& output,

const rational& x)

//返回值、第乙個形參都可以看做是輸出流物件cout

istream&

operator

>>

(istream& input,rational& x)

//第二個引數必須為引用形參,才能改變實參

rational rational::

operator

*(rational y)

//成員函式名前加類名和域作用符(::)

rational operator

+(rational x,rational y)

//友元函式,所有操作物件都被宣告為形參

rational& rational::

operator

=(rational y)

rational& rational::

operator++(

)//前置自增,操作物件和返回物件都是*this

rational rational::

operator++(

int)

//後置自增,以int為形參,返回原物件的值

bool

operator

<

(rational x,rational y)

intmain()

C 分數的加減乘除(運算子過載)

題目描述fraction類的基本形式如下 要求如下 1.實現fraction類 common divisor 和contracted 函式體可為空,不實現具體功能。2.編寫main函式,初始化兩個fraction物件的,計算它們之間的加減乘除。輸入 第1行 依次輸入第1個和第2個fraction物件...

C 過載運算子實現分數加減乘除

實現結果如下圖所示 如下所示 include using namespace std class rational 只允許分子程式設計客棧為負數,若分母為負數則把負數挪到分子部分 利用歐幾里得演算法將分數簡化 void rational normalize 歐幾里得演算法 int a abs num...

Js 運算子 加減乘除

1.加法 var box 1 2 3 var box 1 nan nan,有乙個為nan就為nan var box infinity infinity infinity var box infinity infinity infinity var box infinity infinity nan,...