c++远征之模板篇——静态数据成员,静态成员函数
以下內(nèi)容源于慕課網(wǎng)的學(xué)習(xí)整理,如有侵權(quán),請(qǐng)告知?jiǎng)h除。
1、靜態(tài)數(shù)據(jù)成員
(1)不同于普通的數(shù)據(jù)成員,靜態(tài)數(shù)據(jù)成員在沒有實(shí)例化時(shí),它也是存在的(即它是和類共存的);
(2)它一般不依賴于構(gòu)造函數(shù)的初始化,而往往是單獨(dú)進(jìn)行初始化的。
(3)訪問方式
2、靜態(tài)成員函數(shù)
(1)靜態(tài)成員函數(shù)不能使用普通的成員函數(shù)
- 因?yàn)殪o態(tài)成員函數(shù)是隨著類定義時(shí)就已經(jīng)有了,而那時(shí)候還沒有使用類來實(shí)例化對(duì)象。這是時(shí)機(jī)不對(duì)導(dǎo)致的問題。
(2)從this指針談靜態(tài)成員函數(shù)(待補(bǔ)充!)
3、注意事項(xiàng)
(1)靜態(tài)數(shù)據(jù)成員必須單獨(dú)初始化。因?yàn)殪o態(tài)數(shù)據(jù)成員是隨著類的產(chǎn)生而產(chǎn)生的,不是隨著對(duì)象產(chǎn)生而產(chǎn)生的,因此構(gòu)造函數(shù)對(duì)它不起作用。
(2)靜態(tài)成員函數(shù)不能調(diào)用非靜態(tài)成員函數(shù),以及非靜態(tài)的數(shù)據(jù)成員。但反過來,普通成員函數(shù)可以調(diào)用靜態(tài)成員函數(shù)和靜態(tài)數(shù)據(jù)成員。
(3)靜態(tài)數(shù)據(jù)成員只有一份,且不依賴對(duì)象而存在。
(4)使用sizeof計(jì)算對(duì)象的大小時(shí),計(jì)算內(nèi)容并不包含靜態(tài)數(shù)據(jù)成員。
(5)靜態(tài)成員函數(shù)后面不能加const。
- 因?yàn)閏onst的實(shí)質(zhì)是const 類名* this。由于靜態(tài)成員函數(shù)都沒有this指針。
可以這樣看,靜態(tài)數(shù)據(jù)成員不屬于任何一個(gè)類的對(duì)象,只是類的對(duì)象可以修改它而已。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的c++远征之模板篇——静态数据成员,静态成员函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在dev cpp中使用c++11标准
- 下一篇: c++远征之继承篇——隐藏,isa,虚析