C 高階 七 多型性2

2021-10-09 11:01:25 字數 1053 閱讀 2311

運算子過載是針對新型別資料的實際需要,對原有運算子進行適當的改造。例如:

過載為類的非靜態成員函式;

過載為非成員函式。

函式型別  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 符號 字串常量 立即數 引用和指標 類的封裝和隱藏 靜態成員 友元函式 類的初始化 初始化方式和順序 類的繼承 繼承方式 構函列表 多繼承 類的多型性 函式過載 運算子過載 虛函式 虛函式表 類的作用域概念 規則不可創造新的運算子 不可修改基本資料型別的...