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