演算法訓練 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型別的形參,就是後置自增 自減 運...