explicit關鍵字的作用:
禁止隱式呼叫類內的單引數建構函式,這主要包括如下三層意思:
(1)該關鍵字只能用來修飾類內部的建構函式
(2)禁止隱式呼叫拷貝建構函式
(3)禁止類物件之間的隱式轉換
關於explicit的隱式轉換,例子:
class cexplict
cexplict(const cexplict& other)
friend
void
printexplicit
(const cexplict& cx)
; private:
bool is_explict;
};void
printexplicit
(const cexplict& cx)
intmain
( int argc, char* argv)
關於explicit關鍵字
今天在看乙個源程式的時候用到了explicit關鍵字。在網上查詢了一下該關鍵字的作用。沒有進行試驗,只是整理了下 1.explicit主要和建構函式一起使用.2.當explicit修飾建構函式的時候,對於呼叫該建構函式進行進行 隱式 轉換的 將不會通過 3.解除explicit的方式,就是使用強制轉...
關於C 中的explicit關鍵字
explicit,和建構函式一起使用.explicit constructor指明建構函式只能顯示使用,目的是為了防止不必要的隱式轉化.舉個例子 有這樣一段 class a int test const a 乙個應用函式 test 2 正確 過程是這樣的 編譯器知道傳的值是int而函式需要的是a型別...
關於C 中的explicit關鍵字
關於c 中的explicit關鍵字 在c 中,explicit關鍵字是用來修飾類的建構函式的。含有被該關鍵字修飾過的建構函式的類,將不能進行隱式型別轉換,型別轉換只能顯式進行。並且需要注意的是該關鍵字僅用於類內的建構函式的宣告上。例如 include class ball ball int x 0,...