共用方式為


轉換

指定的類別型別的物件可以轉換成另一個型別的物件。 這是藉由建構物件的目標類別型別,將來源的類別型別,並將結果複製到目標物件。 此程序會呼叫建構函式轉換。 可以轉換物件,以根據使用者所提供的型別轉換函數。

當標準轉換 (述標準轉換) 不能完全的類別型別,編譯器從指定的型別轉換可以選取使用者定義的轉換,以協助完成工作。 除了明確的型別轉換,轉換會放置的時機:

  • 初始設定式運算式不是相同的型別已初始化物件。

  • 函式呼叫中所使用的引數的型別與函式宣告中所指定的引數的型別不符。

  • 從函式所傳回的物件型別與函式宣告中所指定的傳回型別不符。

  • 兩個運算式運算元必須是相同的型別。

  • 控制的反覆項目或選取範圍的陳述式的運算式需要提供不同的型別。

使用者定義的轉換會套用,只有當模稜兩可。 否則,就會產生錯誤訊息。 模稜兩可會檢查處使用。 因此,如果未使用的功能,會造成模稜兩可,類別可以指定與潛在的混淆,並不會產生任何錯誤。 雖然有許多語意模糊會發生的情況下,這些是語意模糊的兩個主要的導因:

  • 使用多重繼承,衍生類別型別,而且很不明確,自選取轉換哪些基底類別 (請參閱模稜兩可)。

  • 使用明確的型別轉換運算子和建構函式相同的轉換是否存在 (請參閱型別轉換函數)。

如所述,這兩個建構函式和轉換的型別轉換函數以轉換會遵循存取控制規則, 成員存取控制。 存取控制的測試只有之後轉換發現是模稜兩可。

如需詳細資訊,請參閱轉換建構函式

請參閱

參考

特殊成員函式 (C++)