c 類中的靜態成員

2022-07-29 05:30:24 字數 495 閱讀 2068

靜態成員和非靜態成員的區別:

class

type

class

student

類的靜態成員包括:

1)靜態資料成員:類的靜態資料成員儲存在全域性(靜態)儲存區,靜態資料成員定義時要分配儲存空間,而類定義本身不占用記憶體空間,只有在例項化為物件時才分配記憶體空間,因此靜態資料成員不能再類中進行定義,static資料成員必須在類定義體外定義(初始化一次)

例外:基本型別是const static的資料成員可以在類的定義體中進行初始化,但仍必須在類的定義體外進行定義,只是不需要初始化

2)靜態成員函式:由於靜態成員函式屬於類本身,而非靜態成員資料屬於具體的物件,所以類靜態成員函式不能訪問類的非靜態成員,只能訪問類的其他的靜態成員,而非靜態成員函式可以訪問類的靜態成員。

注:

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