這篇文章主要講解了“C++中的靜態(tài)數(shù)據(jù)成員怎么使用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C++中的靜態(tài)數(shù)據(jù)成員怎么使用”吧!
成都創(chuàng)新互聯(lián)成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站建設(shè)、做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元肅州做網(wǎng)站,已為上家服務(wù),為肅州各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108
在C++這個開發(fā)環(huán)境中,對靜態(tài)成員函數(shù)和靜態(tài)數(shù)據(jù)成員一樣,它們都屬于類的靜態(tài)成員,它們都不是對象成員。因此,對靜態(tài)成員的引用不需要用對象名,而是引用非靜態(tài)成員。
靜態(tài)數(shù)據(jù)成員
在類中,靜態(tài)成員可以實現(xiàn)多個對象之間的數(shù)據(jù)共享,并且使用靜態(tài)數(shù)據(jù)成員還不會破壞隱藏的原則,即保證了安全性。因此,靜態(tài)成員是類的所有對象中共享的成員,而不是某個對象的成員。
使用靜態(tài)數(shù)據(jù)成員可以節(jié)省內(nèi)存,因為它是所有對象所公有的,因此,對多個對象來說,靜態(tài)數(shù)據(jù)成員只存儲一處,供所有對象共用。靜態(tài)數(shù)據(jù)成員的值對每個對象都是一樣,但它的值是可以更新的。只要對靜態(tài)數(shù)據(jù)成員的值更新一次,保證所有對象存取更新后的相同的值,這樣可以提高時間效率。
靜態(tài)數(shù)據(jù)成員的使用方法和注意事項如下:
1、靜態(tài)數(shù)據(jù)成員在定義或說明時前面加關(guān)鍵字static。
2、靜態(tài)成員初始化與一般數(shù)據(jù)成員初始化不同。靜態(tài)數(shù)據(jù)成員初始化的格式如下:
<數(shù)據(jù)類型><類名>::<靜態(tài)數(shù)據(jù)成員名>=<值>
這表明:
(1) 初始化在類體外進(jìn)行,而前面不加static,以免與一般靜態(tài)變量或?qū)ο笙嗷煜?/p>
(2) 初始化時不加該成員的訪問權(quán)限控制符private,public等。
(3) 初始化時使用作用域運(yùn)算符來標(biāo)明它所屬類,因此,靜態(tài)數(shù)據(jù)成員是類的成員,而不是對象的成員。
3、靜態(tài)數(shù)據(jù)成員是靜態(tài)存儲的,它是靜態(tài)生存期,必須對它進(jìn)行初始化。
4、引用靜態(tài)數(shù)據(jù)成員時,采用如下格式:
<類名>::<靜態(tài)成員名>
如果靜態(tài)數(shù)據(jù)成員的訪問權(quán)限允許的話(即public的成員),可在程序中,按上述格式來引用靜態(tài)數(shù)據(jù)成員。
下面舉一例子,說明C++靜態(tài)數(shù)據(jù)成員的應(yīng)用:
#include class Myclass { public: Myclass(int a, int b, int c); void GetNumber(); void GetSum(); private: int A, B, C; static int Sum; }; int Myclass::Sum = 0; Myclass::Myclass(int a, int b, int c) { A = a; B = b; C = c; Sum += A+B+C; } void Myclass::GetNumber() { cout<<"Number="<<<","<<<","<< } void Myclass::GetSum() { cout<<"Sum="<< } void main() { Myclass M(3, 7, 10),N(14, 9, 11); M.GetNumber(); N.GetNumber(); M.GetSum(); N.GetSum(); }
從輸出結(jié)果可以看到Sum的值對M對象和對N對象都是相等的。這是因為在初始化M對象時,將M對象的三個int型數(shù)據(jù)成員的值求和后賦給了Sum,于是 Sum保存了該值。在初始化N對象時,對將N對象的三個int型數(shù)據(jù)成員的值求和后又加到Sum已有的值上,于是Sum將保存另后的值。所以,不論是通過對象M還是通過對象N來引用的值都是一樣的。
感謝各位的閱讀,以上就是“C++中的靜態(tài)數(shù)據(jù)成員怎么使用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對C++中的靜態(tài)數(shù)據(jù)成員怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!