初始化類中的const 型別 和 引用型別

2021-06-27 16:39:11 字數 530 閱讀 3572

正確的初始化是通過建構函式的初始化列表來進行,如:

class test };

如果不是在初始化列表中對 const 常量進行初始化,而是在建構函式中對其賦值的話,是不能成功的。很簡單的道理:不能給 const 成員賦值。同樣的道理,如果要初始化乙個引用型別的成員變數也不能在建構函式體內賦值,而只能在建構函式的初始化列表中進行初始化

templateclass namedobject 

// 同上,假設沒有

// 宣告 operator=

private:string& namevalue; // 現在是乙個引用

const t objectvalue; // 現在為 const};

int main(int argc, char* argv)

類初始化和例項初始化

乙個類要建立例項需要先載入並初始化該類 main方法所在的類需要先載入和初始化 乙個子類要初始化需要先初始化父類 乙個類初始化就是執行clinit 方法 clinit 方法由靜態類變數顯式賦值 和靜態 塊組成 類變數顯式賦值 和靜態 塊 從上到下順序執行 clinit 方法只執行一次 父類的初始化 ...

類初始化和例項初始化

father public class father father public inttest public static intmethod son public class sonextends father son public inttest public static intmethod...

類的初始化和例項的初始化

有如下兩個類 father 父類 package com.yzx.test01 父類物件 父類初始化 1 j method 5 2 父類的靜態 塊 1 父類的例項化方法 1 super 最前 2 i test 3 父類的非靜態 塊 4 父類的無參構造 最後 非靜態方法前面其實有乙個預設物件this ...