
- C++ 基礎
- C++ 首頁
- C++ 概覽
- C++ 環境搭建
- C++ 基本語法
- C++ 註釋
- C++ Hello World
- C++ 省略名稱空間
- C++ 常量/字面量
- C++ 關鍵字
- C++ 識別符號
- C++ 資料型別
- C++ 數值資料型別
- C++ 字元資料型別
- C++ 布林資料型別
- C++ 變數型別
- C++ 變數作用域
- C++ 多個變數
- C++ 基本輸入/輸出
- C++ 修飾符型別
- C++ 儲存類
- C++ 運算子
- C++ 數字
- C++ 列舉
- C++ 引用
- C++ 日期和時間
- C++ 控制語句
- C++ 決策制定
- C++ if 語句
- C++ if else 語句
- C++ 巢狀 if 語句
- C++ switch 語句
- C++ 巢狀 switch 語句
- C++ 迴圈型別
- C++ while 迴圈
- C++ for 迴圈
- C++ do while 迴圈
- C++ foreach 迴圈
- C++ 巢狀迴圈
- C++ break 語句
- C++ continue 語句
- C++ goto 語句
- C++ 建構函式
- C++ 建構函式和解構函式
- C++ 複製建構函式
過載遞增 ++ 和遞減 -- 運算子
遞增 (++) 和遞減 (--) 運算子是 C++ 中提供的兩個重要的單元運算子。
以下示例說明了如何為字首和字尾用法過載遞增 (++) 運算子。類似地,您可以過載運算子 (--)。
#include <iostream> using namespace std; class Time { private: int hours; // 0 to 23 int minutes; // 0 to 59 public: // required constructors Time() { hours = 0; minutes = 0; } Time(int h, int m) { hours = h; minutes = m; } // method to display time void displayTime() { cout << "H: " << hours << " M:" << minutes <<endl; } // overloaded prefix ++ operator Time operator++ () { ++minutes; // increment this object if(minutes >= 60) { ++hours; minutes -= 60; } return Time(hours, minutes); } // overloaded postfix ++ operator Time operator++( int ) { // save the orignal value Time T(hours, minutes); // increment this object ++minutes; if(minutes >= 60) { ++hours; minutes -= 60; } // return old original value return T; } }; int main() { Time T1(11, 59), T2(10,40); ++T1; // increment T1 T1.displayTime(); // display T1 ++T1; // increment T1 again T1.displayTime(); // display T1 T2++; // increment T2 T2.displayTime(); // display T2 T2++; // increment T2 again T2.displayTime(); // display T2 return 0; }
當編譯並執行上述程式碼時,會產生以下結果:
H: 12 M:0 H: 12 M:1 H: 10 M:41 H: 10 M:42
cpp_overloading.htm
廣告