C 類中const成員變數的賦值

2021-06-05 16:26:20 字數 600 閱讀 6477

在標頭檔案的類的定義中定義了乙個const成員變數

c++ 規則:

1、類定義中不能進行初始化,因為標頭檔案中類的定義只是乙個宣告,並沒有分配真正空間,因此變數是不存在的,因此是不能賦值的。

2、const 定義的變數是不能賦值

這可如何是好,宣告中不能賦值,宣告完還不能賦值。又不能不賦值。

解決方案:

1、在建構函式後的引數初始化列表中初始化

2、將const變數同時宣告為 static 型別進行初始化。

#include class testa

// method 1

~testa(){}

int getsize()

private:

const int m_isize;

};class testb

~testb(){}

int getsize()

private:

static const int m_isize;

};const int testb::m_isize = 3; // method 2

int main()

c 類中const成員變數的賦值方法

在標頭檔案的類的定義中定義了乙個const成員變數c 規則 1 類定義中不能進行初始化,因為標頭檔案中類的定義只是乙個宣告,並沒有分配真正空間,因此變數是不存在的,因此是不能賦值的。2 const 定義的變數是不能賦值 這可如何是好,宣告中不能賦值,宣告完還不能賦值。又不能不賦值。解決方案 1 在建...

C 之const類成員變數,const成員函式

const修飾類的成員函式 const修飾變數一般有兩種方式 const t a,或者 t const a,這兩者都是一樣的,主要看const位於 的左邊還是右邊,這裡不再贅述,主要來看一下當const修飾類的成員函式時,成員函式有什麼特點。類的成員函式後面加 const,表明這個函式不會對這個類物...

C 類的const型別成員變數

includeusing namespace std class myclass 只能在構造函式引數行中對const型別成員變數初始化 不能在建構函式中初始化const型別成員變數 myclass類的建構函式myclass 的輸入引數必須包含 要給const成員變數const varible初始化的...