C 中轉換建構函式 將其它型別轉換為當前類的型別

2021-09-19 03:14:36 字數 442 閱讀 8088

不管哪一種建構函式,都能夠用來初始化物件,這是建構函式的本意。假設complex類定義了以上所有的建構函式,那麼下面建立物件的方式都是正確的:

complex c1();  // 呼叫complex()

complex c2(10, 20); // 呼叫complex(double real, double imag)

complex c3(c2); // 呼叫complex(const complex &c)

complex c4(25.7); // 呼叫complex(double real)

除了在建立物件時初始化物件,其他情況下也會呼叫建構函式,例如:以拷貝的的方式初始化物件時會呼叫拷貝建構函式,將其它型別轉換為當前類型別時會呼叫轉換建構函式。這些在其他情況下呼叫的建構函式,就成了特殊的建構函式了。特殊的建構函式並不一定能體現出建構函式的本意。

c 型別轉換建構函式

定義轉換建構函式的目的是實現型別的自動轉換。只有乙個引數,而且不是複製建構函式的建構函式,一般 就可以看作是轉換建構函式。當需要的時候,編譯系統會自動呼叫轉換建構函式,建立 乙個無名的臨時物件 或臨時變數 include using namespace std class complex compl...

型別轉換函式 轉換建構函式

用途 將乙個其它型別的資料轉換成自定義的類型別。注意 這種建構函式只有乙個引數,但要區別於拷貝建構函式 形參是乙個自定義型別的引用 例子 include using namespace std class complex 這個預設的建構函式便可以充當 轉換建構函式 complex double r ...

型別轉換函式 轉換建構函式

用途 將乙個其它型別的資料轉換成自定義的類型別。注意 這種建構函式只有乙個引數,但要區別於拷貝建構函式 形參是乙個自定義型別的引用 例子 include using namespace std class complex 這個預設的建構函式便可以充當 轉換建構函式 complex double r ...