C++ class的static變量
class的靜態(tài)變量只會(huì)創(chuàng)建一次,所有的該類的對(duì)象都共用這個(gè)靜態(tài)變量。這個(gè)和private和public不是可以對(duì)比的,public是內(nèi)部的變量可以被外部訪問(wèn),也就是說(shuō),可以使用"."或者"->"來(lái)直接修改。private只是說(shuō)明只有自己內(nèi)部能夠訪問(wèn)和使用這個(gè)參數(shù),所以private參數(shù)總是專門寫一個(gè)set和print函數(shù)來(lái)間接的修改和輸出變量。
????如下代碼,一個(gè)簡(jiǎn)單的測(cè)試,先聲明A1和A2兩個(gè)變量,然后給A1的參數(shù)賦值。觀察擦結(jié)果可以看到其實(shí)A2的參數(shù)也發(fā)生了改變。這個(gè)就是static。
結(jié)果:沒有對(duì)A2的變量賦值,但是static的變量是和A1公用的。A2.a和A1.a實(shí)質(zhì)上是同一個(gè)變量。
static類型的變量在外頭必須這樣子賦值,否則編譯不會(huì)通過(guò)。
標(biāo)簽: