2011-02-13 87 views

回答

5

只有一個參數的C++構造函數會自動執行隱式類型轉換。例如,如果在構造函數需要一個字符串指針參數時傳遞一個int,編譯器將添加它必須具有的代碼以將int轉換爲一個字符串指針。但是,您可能並不總是需要這種自動行爲。

您可以將顯式添加到構造函數聲明以防止隱式轉換。這會強制代碼使用正確類型的參數,或者將參數強制轉換爲正確的類型。也就是說,如果演員不是用代碼表示的,那麼會導致錯誤。

explicit (C++)