關於explicit關鍵字的用法

2021-07-29 20:43:27 字數 514 閱讀 5198

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,...