不知不覺,又到周末了;上次在交流群里,答應(yīng)給大家免費送開發(fā)板,一開始認(rèn)為板子夠送,但是昨天整理了一下,然后送了大概十幾個網(wǎng)友就不夠送了,還有十幾個網(wǎng)友沒得到板子,這里說聲實在抱歉,下次有機會搞活動再送給大家好玩的板子:
上圖的板子有最近買的,也有以前買的(stm32、esp8266、51、eps32、小熊派、合宙的cat1、樹莓派3b+);說實話,這些板子買來,一直放在那里吃灰,后期自己的方向也不玩硬件開發(fā)板啥的;所以上面的板子都送給了公眾號讀者在校生,讓這些板子發(fā)揮它們最大的價值,板子也會在最近慢慢一一送出去;贈人與玫瑰,手有余香!
好了回歸主題,今天繼續(xù)分享c++的文章,學(xué)習(xí)還是不能落下,flag未完成,任務(wù)艱巨,好好學(xué)習(xí)。
一、靜態(tài)成員變量:
平時我們在寫類的時候,類中的成員變量,我們一般是通過對象名來訪問public成員變量的,一般private(私有)的成員變量,對象是不能直接訪問的;同時我們要明白每個對象的成員變量都是專屬的,而且成員變量是不能在對象之間共享的,這就是專屬性。下面我們來做一個小的程序需求來慢慢引出靜態(tài)成員變量:
統(tǒng)計在程序運行期間某個類的對象數(shù)目
要保證該程序的安全性(不能使用全局變量)
隨時可以獲取當(dāng)前對象的數(shù)目
代碼版本一:
#include<stdio.h>classTest{private:intmCount;public:Test():mCount(0){mCount++;}~Test(){--mCount;}intgetCount(){returnmCount;}};TestgTest;intmain(){Testt1;Testt2;printf("mCount=%dn",gTest.getCount());printf("mCount=%dn",t1.getCount());printf("mCount=%dn",t2.getCount());return0;}
運行結(jié)果:
root@txp-virtual-machine:/home/txp#./a.outmCount=1mCount=1mCount=1
從運行結(jié)果來我們可以看出來,對象獨立性(專屬性);而且結(jié)果沒有達(dá)到我們的預(yù)期要求,于是乎,為了解決這個問題,我們就要排靜態(tài)成員變量出場了。
1、c++中可以定義靜態(tài)成員變量:
靜態(tài)成員變量屬于整個類所有
靜態(tài)成員變量的生命期不依賴于任何對象(上面的程序,每個對象的成員變量是獨立的,所以打印出的mCount的值分別為1)
可以通過類名直接訪問公有靜態(tài)成員變量
所有對象共享類的靜態(tài)成員變量
可以通過對象名 訪問公有靜態(tài)成員變量
2、靜態(tài)成員變量的特性:
在定義時直接通過static關(guān)鍵字修飾
靜態(tài)成員變量需要在類外單獨分配空間
靜態(tài)成員變量在程序內(nèi)部位于全局?jǐn)?shù)據(jù)區(qū)
3、語法規(guī)則:
TypeClassName::VarName=value;注意在類的外部進行初始化
代碼版本二:
#include<stdio.h>classTest{private:staticintmCount;public:Test()//不要使用初始化列表進行初始化{mCount++;}~Test(){--mCount;}intgetCount(){returnmCount;}};intTest::mCount=0;TestgTest;intmain(){Testt1;Testt2;printf("mCount=%dn",gTest.getCount());printf("mCount=%dn",t1.getCount());printf("mCount=%dn",t2.getCount());return0;}
運行結(jié)果:
root@txp-virtual-machine:/home/txp#./a.outmCount=3mCount=3mCount=3
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4381瀏覽量
64942 -
C++
+關(guān)注
關(guān)注
22文章
2119瀏覽量
75359
發(fā)布評論請先 登錄
D3502C:低靜態(tài)電流設(shè)計,延長設(shè)備續(xù)航能力
動態(tài)BGP與靜態(tài)BGP的區(qū)別?
在設(shè)置 gpioClock 時,如何設(shè)置成員變量以實現(xiàn)從高到低的速度?
DA9233高效、超低靜態(tài)電流降壓穩(wěn)壓器和超低靜態(tài)電流 LDO數(shù)據(jù)手冊

EE-128:C語言中的DSP:從C調(diào)用匯編類成員函數(shù)

評論