藍橋杯之運算子過載 語法題

2021-08-15 16:39:43 字數 924 閱讀 3896

演算法訓練 c++ ch08 01  

時間限制:1.0s   記憶體限制:256.0mb

問題描述

已知乙個有理數類zrf_ratio,實現如下的操作符過載形式:

friend std::ostream& operator<<(std::ostream&, const zrf_ratio&);//輸出最簡分數

friend std::istream& operator>>(std::istream&, zrf_ratio&);

friend bool operator==(const zrf_ratio&, const zrf_ratio&);

friend bool operator<(const zrf_ratio&, const zrf_ratio&); 測試

測試時主程式會輸入四個整數a, b, c, d,表示兩個分數a/b和c/d。要求輸出最簡分數以及兩個分數相等和大小的比較結果。

樣例輸入

1 7 26 25

樣例輸出

zrf is:1/7; ssh is:26/25

(zrf==ssh) is:0; (zrf

ostream& operator<<(ostream& os, const zrf_ratio& zrf_ratio)

istream& operator>>(istream& in, zrf_ratio& zrf_ratio)

bool operator==(const zrf_ratio& zrf_ratio1,const zrf_ratio& zrf_ratio2)

return 0;

}bool operator<(const zrf_ratio& zrf_ratio1,const zrf_ratio& zrf_ratio2)

return 0;

}

運算子過載之過載型別運算子

普通型別 類型別 呼叫對應的只有乙個引數 引數的型別就是這個普通型別 的建構函式 需求 boy boy1 10000 薪資 建構函式boy int boy boy2 rock 姓名 建構函式boy char 普通型別賦值給類型別其實很簡單,就是專門的對這個賦值的型別定義乙個建構函式。編譯器在執行 的...

過載之運算子過載

運算子過載,就是對已有的運算子重新進行定義,賦予其另一種功能,以適應不同的資料型別 運算子過載的宣告方式與方法的宣告方式相同,但operator關鍵字告訴編譯器,它實際上是乙個運算子過載,後面是相關運算子的符號,在本例中就是 返回型別是在使用這個運算子時獲得的型別。在本例中,把兩個向量加起來會得到另...

C 運算子過載之過載單目運算子

單目運算子只有乙個運算元,但是其過載方法類似於雙目運算子,在這裡以過載單目運算子 為例,介紹單目運算子的過載 注意 和 運算子有兩種使用方式,前置自增運算子和後置自增運算子,它們的作用是不一樣的,為了區分他們,c 約定,在自增 自減 運算子過載函式中,增加乙個int型別的形參,就是後置自增 自減 運...