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