c 過載為類的成員函式

2021-10-05 23:33:28 字數 2271 閱讀 9053

//成員函式返回本物件自己或者自己的拷貝

//return *this對應complex &,則返回物件本身(物件的引用)

//return *this對應complex ,則返回物件的副本

//return this對應complex *,則返回物件當前位址(指向當前物件的指標)

//返回新的物件,呼叫建構函式

//return complex(real + c.real,imag+c.imag);//呼叫預設建構函式,返回臨時無名物件

#include

using

namespace std;

class

complex

complex operator+(

const complex &c)

const

; complex operator-(

const complex &c)

const

; complex operator*(

const complex &c)

const

; complex &

operator++(

);complex operator++(

int)

; complex &

operator--(

);complex operator--(

int)

;void

display()

const

;private

:double real;

double imag;};

complex complex::

operator+(

const complex &c)

const

complex complex::

operator-(

const complex &c)

const

complex complex::

operator*(

const complex &c)

const

complex & complex::

operator++(

)//前置++,無引數

//成員函式返回本物件自己或者自己的拷貝

//return *this對應complex &,則返回物件本身(物件的引用)

//return *this對應complex ,則返回物件的副本

//return this對應complex *,則返回物件當前位址(指向當前物件的指標)

//返回新的物件,呼叫建構函式

//return complex(real + c.real,imag+c.imag);//呼叫預設建構函式,返回臨時無名物件

complex complex::

operator++(

int)

//後置++,有引數,過載(引數不同)區別前置++

complex &complex::

operator--(

)//前置--,無引數

complex complex::

operator--(

int)

//後置--,有引數,過載(引數不同)區別前置--

void complex::

display()

const

intmain()

執行結果:

呼叫預設建構函式

呼叫預設建構函式

呼叫預設建構函式a=(

2.3)+(

4.5)ib=(

4.3)+(

1.5)i

a+b: 呼叫預設建構函式

(6.6)+

(6)ia*b: 呼叫預設建構函式

(9.89)+

(6.75

)i++a:

(3.3)+

(5.5

)ia =

(3.3)+

(5.5

)ib++:(

4.3)+(

1.5)ib=(

5.3)+(

2.5)i

b--:

(5.3)+

(2.5

)ib=

(4.3)+

(1.5

)i--b:

(3.3)+

(0.5

)ib=

(3.3)+

(0.5

)i請按任意鍵繼續.

..

C 類的成員函式的過載

一般而言,如果以乙個基類的指標指向派生類物件,那麼經由該指標只能夠呼叫基類所定義的函式。如果基類和派生類都定義了相同名稱之成員函式,那麼必須視該指標的原始型別而定。這是因為虛函式的原因。如果以乙個派生類之指標指向乙個基類物件,必須做型別強制轉換。這種做法很危險,不符合真實生活經驗,在程式設計上會給程...

C 類成員函式的過載 覆蓋與隱藏

1.過載 覆蓋與隱藏 1 過載 成員函式具有以下的特徵時發生 過載 a 相同的範圍 同乙個類中 b 函式的名字相同 c 引數型別不同 不能進行隱式型別轉換 d virtual關鍵字可有可無 2 覆蓋 也叫 繼承 指派生類函式覆蓋基類函式,特徵是 a 不同的範圍 分別位於基類與派生類中 b 函式名字相...

C 類成員函式的過載 覆蓋與隱藏

1.過載 覆蓋與隱藏 1 過載 成員函式具有以下的特徵時發生 過載 a 相同的範圍 同乙個類中 b 函式的名字相同 c 引數型別不同 不能進行隱式型別轉換 d virtual關鍵字可有可無 2 覆蓋 也叫 繼承 指派生類函式覆蓋基類函式,特徵是 a 不同的範圍 分別位於基類與派生類中 b 函式名字相...