#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 靜態資料成員的定義。靜態資料成員實際是類域中的全域性變數,其定...