新聞中心
下面文章著重介紹C++靜態(tài)成員,類的靜態(tài)數(shù)據(jù)成員應該在代碼中被顯示的初始化,一定要在類外進行, C++靜態(tài)成員和普通數(shù)據(jù)成員區(qū)別較大,體現(xiàn)在下面幾點:

玉州網(wǎng)站建設公司創(chuàng)新互聯(lián)公司,玉州網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為玉州上1000家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務好的玉州做網(wǎng)站的公司定做!
1.靜態(tài)數(shù)據(jù)成員
在類中定義C++靜態(tài)成員成員的方法就是在該成員的前面加上關鍵字static.
定義靜態(tài)數(shù)據(jù)成員的語句格式如下:
- class 類名
- {
- ……
- static 類型說明符 成員名;
- ……
- };
C++靜態(tài)成員是類的所有對象共享的成員。靜態(tài)數(shù)據(jù)成員所占的空間不會隨著對象的產(chǎn)生而分配,也不會隨著對象的消失而回收。對靜態(tài)數(shù)據(jù)成員的操作和類中一般數(shù)據(jù)成員的操作是不一樣的,定義為私有的靜態(tài)數(shù)據(jù)成員不能被外界所訪問。靜態(tài)數(shù)據(jù)成員可由任意訪問權限許可的函數(shù)所訪問。
由于靜態(tài)數(shù)據(jù)成員是類的所有對象共享的,而不從屬于任何一個具體對象,所以必須對類的靜態(tài)數(shù)據(jù)成員進行初始化,但對它的初始化不能在類的構造函數(shù)中進行,其初始化語句應當寫在程序的全局區(qū)域中,并且必須指明其數(shù)據(jù)類型與所屬的類名,其初始化格式如下:
類型類名::變量名=值;對于在類的public部分說明的靜態(tài)數(shù)據(jù)成員,在類的外部可以不使用成員函數(shù)而直接訪問,但在使用時必須用類名指明所屬的類,其訪問格式為:對于在類的非public部分說明的靜態(tài)數(shù)據(jù)成員,則只能由類的成員函數(shù)訪問,其訪問方法與訪問類中普通數(shù)據(jù)成員的訪問方法完全一樣,但在類的外部不能訪問。
2.靜態(tài)成員函數(shù)
靜態(tài)成員函數(shù)的定義與一般成員函數(shù)的定義相同,只是在其前面冠以static關鍵字,其定義格式如下:
- class 類名
- {
- …
- static 類型 函數(shù)名(形參)
- { 函數(shù)體 }
- …
- };
說明:
(1)類的C++靜態(tài)成員函數(shù)只能訪問類的靜態(tài)數(shù)據(jù)成員,而不能訪問類中的普通函數(shù)成員(非靜態(tài)數(shù)據(jù)成員),因為普通數(shù)據(jù)成員只有類的對象存在時才有意義。
(2)C++靜態(tài)成員函數(shù)與類相聯(lián)系,而不與類的對象相聯(lián)系,所以,在類的外部調(diào)用類中的公有靜態(tài)成員函數(shù),必須在其左面加上“類名::”,而不是通過對象名調(diào)用公有靜態(tài)成員函數(shù)。在類的外部不能調(diào)用類中的私有靜態(tài)成員函數(shù)。
當前名稱:學習C++靜態(tài)成員注意事宜
分享URL:http://www.5511xx.com/article/cdpccci.html


咨詢
建站咨詢
