static關鍵字在C 類中的使用

2021-09-29 22:45:22 字數 1204 閱讀 7433

一:類的靜態成員變數

宣告:

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,該變數就被定義成為乙個靜態全域性變...