一:類的靜態成員變數
宣告:
static
int k;
//類靜態成員變數宣告
定義:
int time:
:k =20;
//類靜態成員變數的定義
注:類的定義一般放在cpp檔案的最上方,也就是在執行main()函式之前先讓這個變數有個初值。
應用:類的static變數不屬於某個物件,它只屬於類,
time mytime;
time mytime1;
mytime.k =10;
mytime1.k =20;
cout << mytime.k << endl;
cout << mytime1.k << endl;
這裡宣告了兩個物件,因為k最後賦值為20,所以兩個列印都是20,即k不單獨屬於物件mytime或mytime1。
二:類的靜態成員函式
宣告:
static
void
add(
int i)
;//類靜態成員函式宣告
定義:
void time:
:add
(int i)
//類靜態成員函式定義
//應用:
time mytime2;
mytime2.
add(66)
; cout << mytime.k << endl;
cout << mytime1.k << endl;
cout << mytime2.k << endl;
//三個都為66
//注意:在類靜態成員函式中只能為靜態成員變數賦值
例如以下就是錯的:
//void time::add(int i)//類靜態成員函式定義
////hour 是普通成員變數
//總結:在類的靜態成員函式定義和靜態成員變數定義中,不用帶static
//static void time::add(int i)//類靜態成員函式定義
////錯誤
static
int time:
:k =20;
//錯誤
C 類中的Static關鍵字
靜態成員是可以獨立訪問的,也就是說,無須建立任何物件例項就可以訪問,而靜態成員函式可不建立物件就可以被使用。或者說靜態函式與一般函式沒有太大的區別,只是訪問有限制,靜態變數跟一般的全域性變數的區別就是訪問有限制。static變數 static變數不像普通的變數,static變數獨立於一切類物件處在。...
c中static關鍵字
看別人的c 會看到很多變數或者函式前面帶有static關鍵字。c中的static和php中的static有很到的不同,在php中static表示靜態化變數,乙個類中的static成員只與類有關,而與類的例項無關。c中的static關鍵字主要用於隱藏 access control 1.隱藏 函式前的s...
C 中static關鍵字
c 的static有兩種用法 面向過程程式設計中的static和物件導向程式設計中的static。前者應用於普通變數和函式,不涉及類 後者主要說明static在類中的作用。一 面向過程設計中的static 1 靜態全域性變數 在全域性變數前,加上關鍵字static,該變數就被定義成為乙個靜態全域性變...