靜態成員變數和靜態成員函式

2021-06-08 04:33:57 字數 1001 閱讀 3694

我們學到的類物件的成員變數一般都是這個物件專屬,不能為其他物件所共有。然而在實際程式設計中我們需要統計物件的數量等問題,所以就必須設定乙個類的物件所共有的變數,就是靜態成員變數。

首先通過乙個簡單的例程 說明靜態成員如何使用。

#includeusing namespace std;

class a

virtual ~a()

virtual int get()

virtual void set(int age)

static int total;

private:

int it;

};int a::total = 0;

int main()

return 0;

}

程式執行的結果是:

1、靜態成員變數必須屬於類的成員變數,不屬於單個物件。

2、靜態成員變數必須在全域性定義。

3、靜態成員變數的使用方式:

a::total;

4、靜態成員變數在物件存在之前就存在著。

靜態成員函式和靜態成員變數一樣,不屬於任何乙個物件。

用乙個程式來說明如使用靜態成員函式。

#includeusing namespace std;

class a

{public:

void static show() {

cout<

程式執行的結果是:

注意:

1、由於靜態成員函式是屬於整個類的,所以不能訪問某個物件的成員變數。因為它沒有指向物件的this指標。

2、靜態成員函式不能說明為虛函式。

靜態成員變數 和 靜態成員函式

資料成員可以分靜態變數 非靜態變數兩種.靜態成員 靜態類中的成員加入static修飾符,即是靜態成員.可以直接使用類名 靜態成員名訪問此靜態成員,因為靜態成員存在於記憶體,非靜態成員需要例項化才會分配記憶體,所以靜態成員不能訪問非靜態的成員.因為靜態成員存在於記憶體,所以非靜態成員可以直接訪問類中靜...

靜態成員變數和靜態成員函式

本章內容均為coursera中c 程式設計課件的整理 基本概念 靜態成員 在說明前面加了static關鍵字的成員。class crectangle 普通成員變數每個物件有各自的乙份,而靜態成員變數一共就乙份,為所有物件共享。sizeof 運算子不會計算靜態成員變數。class cmyclass 則 ...

靜態成員變數和靜態成員函式

靜態成員提供乙個同類成員的共享機制 static 關鍵字可以說明乙個類的成員 把乙個類的成員說成說明成 ststic 時,這個類無論有多少物件被建立 這些物件共享這個static 成員 靜態成員變數 include using namespace std class bb void addc pro...