C 中複製建構函式與operator 的使用

2021-10-10 16:31:31 字數 825 閱讀 8995

(1)complex型別的函式會通過複製建構函式將return中的物件複製給以乙個臨時物件

(2)注意在本次呼叫中的式子n=f+m+n;

通常來說這個式子會被解釋為n=(f+m)+n

但是在實際執行的過程中卻是先利用複製建構函式將n中的形參構造出來,然後利用複製建構函式將m構造出來

後面按照n=(f+m)+n的順序執行

(3)在函式執行的過程中需要注意的是=是不使用複製建構函式的,而是使用的是operator=的重建構函式

就是說return m是利用複製建構函式建立了乙個臨時物件,而外面使用的n=(f+m)+n中的=則是通過operator=進行接收的

class

complex;~

complex()

complex

(double real,

double img)

;complex

(const complex&c)

;void

print()

; complex operator

+(complex c);}

;complex::

complex

(const complex&c)

complex complex::

operator

+(complex c)

complex::

complex

(double real,

double img)

void complex::

print()

intmain()

C 中類的建構函式與複製建構函式

建構函式是類的特殊的成員函式,只要建立類型別的新物件,都要執行建構函式。建構函式的工作是保證每個物件的資料成員具有合適的初始值。建構函式的名字與類的名字相同,並且不能指定返回型別。像其他任何函式一樣,它們可以沒有形參,也可以定義多個形參。複製建構函式是一種特殊建構函式,具有單個形參,該形參 常用co...

c 中複製建構函式

在c 中自動提供這些成員函式 1,預設的建構函式,如果自定義的類中,沒有自定義建構函式時,自動會呼叫此預設函式 2,複製建構函式,如果自定義類中沒有定義,在物件複製時,會自動呼叫 作用 複製建構函式用於將乙個複製到乙個新建立的物件中。3,賦值運算子 將已有的物件賦給另乙個物件時,將使用過載的賦值操作...

C 學習 建構函式與複製建構函式

在建構函式的函式頭初始化 includeusing namespace std class rectangle private const int length int width int main void 複製建構函式 預設複製建構函式的機制 includeusing namespace std...