運算子過載是針對新型別資料的實際需要,對原有運算子進行適當的改造。例如:
過載為類的非靜態成員函式;
過載為非成員函式。
函式型別 operator 運算子(形參)
引數個數=原運算元個數-1 (後置++、--除外)
規則:
運算元:
源**:
#include using namespace std;
class complex
//運算子+過載成員函式
complex operator + (const complex &c2) const;
//運算子-過載成員函式
complex operator - (const complex &c2) const;
void display() const; //輸出複數
private:
double real; //複數實部
double imag; //複數虛部
};例8-1複數類加減法運算過載為成員函式
complex complex::operator+(const complex &c2) const
complex complex::operator-(const complex &c2) const
void complex::display() const ;
clock::clock(int hour, int minute, int second) else
cout << "time error!" << endl;
}void clock::showtime() const
例8-2過載前置++和後置++為時鐘類成員函式
clock & clock::operator ++ ()
}return *this;
}clock clock::operator ++ (int)
例8-2過載前置++和後置++為時鐘類成員函式
int main()
C 高階 七 多型性3
有些運算子不能過載為成員函式,例如二元運算子的左運算元不是物件,或者是不能由我們過載運算子的物件 表示式oprd1 b oprd2 等同於operator b oprd1,oprd2 表示式 b oprd 等同於operator b oprd 表示式 oprd b 等同於operator b opr...
C 高階 七 多型性6
8 6.cpp include using namespace std class base1 class base2 public base1 void base2 display const class derived public base2 void derived display cons...
C 備考(七)多型性
學習沒有捷徑,但考試有捷徑 常量 const 符號 字串常量 立即數 引用和指標 類的封裝和隱藏 靜態成員 友元函式 類的初始化 初始化方式和順序 類的繼承 繼承方式 構函列表 多繼承 類的多型性 函式過載 運算子過載 虛函式 虛函式表 類的作用域概念 規則不可創造新的運算子 不可修改基本資料型別的...