C 靜態成員

2021-09-26 19:01:11 字數 700 閱讀 1842

#includeusing namespace std;

class square

; //委託構造,因此呼叫無參建構函式時也會執行count++;

square(double side)

static int getcount() //靜態函式成員

int getcountnostatic() //非靜態函式成員

private:

static int count;

int side=1;

};int square::count; //編譯器預設初始化其為0

int main()

; cout << a2.getcount() << endl;

//cout << square::getcountnocount() << endl; //error,不能直接用類名呼叫非靜態函式成員,只能通過物件。

return 0;

}

#includeusing namespace std;

class a

private:

int x;

};

之所以在靜態成員函式中訪問類的非靜態成員需要指明物件,是因為對靜態成員函式的呼叫是沒有目的物件的,因此不能像非靜態成員函式那樣,隱含地通過目的物件訪問類的非靜態成員。

C 靜態成員變數,靜態成員函式

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

C 靜態成員 2 靜態資料成員

目錄 1.靜態成員的構造 2.靜態成員的訪問 3.靜態成員的初始化 include class a class b int main 輸出 b s constructor called 結論 程式只呼叫了b的建構函式,而沒有呼叫a的建構函式。原因很簡單,靜態成員僅僅在類宣告的時候而宣告,但是不會定義...

C 靜態成員和靜態成員函式

一 靜態資料成員 類體中的資料成員的宣告前加上static關鍵字,該資料成員就成為了該類的靜態資料成員。和其他資料成員一樣,靜態資料成員也遵守public protected private訪問規則。同時,靜態資料成員還具有以下特點 1 靜態資料成員的定義。靜態資料成員實際是類域中的全域性變數,其定...