C 類中靜態資料成員MAP如何初始化

2021-08-07 08:21:34 字數 514 閱讀 8397

在寫c++時,博主遇到對類中靜態的map進行初始化的問題,在不斷嘗試中找到了一種解決方案。

如下所示:

我們可以在類中寫乙個私有的靜態成員函式用於對map初始化。

cguitarspec.h

class guitarspec//吉他的部分屬性

static

map createmcolor()

};

guitarspec.cpp

#include "cguitarspec.h"

map guitarspec::mtype = guitarspec::createmtype();//靜態資料成員初始化

map guitarspec::mcolor = guitarspec::createmcolor();//靜態資料成員初始化

如此便實現了對c++類中對靜態map的初始化。

博主在這裡將私有靜態函式的實現放在了標頭檔案中,建議大家將其實現放在.cpp中。

C 類中的靜態成員

相關規則 1 靜態函式不能呼叫類的成員變數和成員函式 2 成員函式可以呼叫靜態變數和靜態函式 3 靜態變數和靜態函式不屬於類的任何具體物件 沒有this指標 但是可被類的所有物件共享。4 類的靜態變數和靜態函式不能被其派生類繼承 5 靜態變數必須初始化後才能被呼叫 無論是成員函式還是靜態函式呼叫 靜...

C 類中的靜態成員

我們學習乙個知識點,首先想到的是為什麼要有這個東西的存在呢?對於c 類的靜態成員存在的理由如下 有的時候類需要它的一些成員與類本身無關,而不是與類的各個物件保持關聯。例如 乙個銀行賬戶型別類可能需要乙個資料成員來表示當前基準利率。在此例中,我們希望利率與類關聯,而非與類的每個物件關聯。從實現的效率的...

C 類中的靜態成員

1 靜態類成員變數 ifndef cl student h define cl student h include class cl student endif include qstring cl student sta school uestc 初始化靜態類成員變數 cl student cl ...