C 基本語法記之 explicit

2021-05-10 20:49:56 字數 519 閱讀 3538

explicit

c++中的explicit關鍵字用來修飾類的建構函式,表明該建構函式是顯式的,既然有"顯式"那麼必然就有"隱式",那麼什麼是顯示而什麼又是隱式的呢?

如果c++類的建構函式有乙個引數,那麼在編譯的時候就會有乙個預設的轉換操作:將該建構函式對應資料型別的資料轉換為該類物件,如下面所示:

class myclass

....

myclass obj = 10; //ok,convert int to myclass

在上面的**中編譯器自動將整型轉換為myclass類物件,實際上等同於下面的操作:

myclass temp(10);

myclass obj = temp;

上面的所有的操作即是所謂的"隱式轉換"。

如果不想發生這種"隱式轉換",就需要使用explicit:

public:

explicit myclass( int num );

c之基本語法

我們已經看過 c 程式的基本結構,這將有助於我們理解 c 語言的其他基本的構建塊。c 程式由各種令牌組成,令牌可以是關鍵字 識別符號 常量 字串值,或者是乙個符號。例如,下面的 c 語句包括五個令牌 printf hello,world n 這五個令牌分別是 printf hello,world n...

語法 C 基本語法

標頭檔案 在程式設計競賽中,我們常見乙個標頭檔案 include 發現它是部分c 中支援的乙個幾乎萬能的標頭檔案,包含所有的可用到的c 庫函式,如 在程式設計競賽中,使用這個標頭檔案是乙個好的想法,特別是當你在選擇標頭檔案時想減少時間,我們更加專注於找到演算法解決問題而不是軟體工程。而從軟體工程的視...

C 基本語法

1.定義常量 const int num 34 2.定義唯讀變數 readonly int num 45 此變數只能在建構函式中改變值 3.格式化double string.format 34.567 保留2位小數 格式化date string.format system.datetime.now ...