1.通過(guò)對(duì)象名能夠訪問(wèn)public成員變量
2.每個(gè)對(duì)象的成員變量都是專屬的
3.成員變量不能在對(duì)象之間共享
Q:新的需求
1.統(tǒng)計(jì)在程序運(yùn)行期間某個(gè)類的對(duì)象數(shù)目
2.保證程序的安全性(不能使用全局變量)
3.隨時(shí)可以獲取當(dāng)前對(duì)象的數(shù)目
代碼示例
創(chuàng)新互聯(lián)建站是專業(yè)的信豐網(wǎng)站建設(shè)公司,信豐接單;提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行信豐網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
#include
using namespace std;
class Test
{
private:
int mCount;
public:
Test() : mCount(0)
{
mCount++;
}
~Test()
{
--mCount;
}
int getCount()
{
return mCount;
}
};
Test gTest;
int main()
{
Test t1;
Test t2;
cout<<"gTest.getCount()="<
運(yùn)行結(jié)果如圖所示
出現(xiàn)該結(jié)果的原因是定義的mCount在每個(gè)對(duì)象構(gòu)造時(shí)單單獨(dú)生成,所以輸出的Count個(gè)數(shù)也為1
A.在C++中可以定義靜態(tài)成員變量
1.靜態(tài)成員變量屬于整個(gè)類所有
2.靜態(tài)成員變量的生命期不依賴于任何對(duì)象
3.可以通過(guò)類名直接訪問(wèn)公有靜態(tài)成員變量
4.所有對(duì)象共享類的靜態(tài)成員變量
5.可以通過(guò)對(duì)象名訪問(wèn)公有靜態(tài)成員變量
B.靜態(tài)成員變量的特性
1.在定義時(shí)直接通過(guò)static關(guān)鍵字修飾
2.靜態(tài)成員變量需要在類外單獨(dú)分配空間
3.靜態(tài)成員變量在程序內(nèi)部位于全局?jǐn)?shù)據(jù)區(qū)
語(yǔ)法規(guī)則:Type ClassName:VarName=value
代碼示例
#include
using namespace std;
class Test
{
private:
static int mCount;
public:
Test()
{
mCount++;
}
~Test()
{
--mCount;
}
int getCount()
{
return mCount;
}
};
int Test::mCount=0;
Test gTest;
int main()
{
Test t1;
Test t2;
cout<<"gTest.getCount()="<
運(yùn)行結(jié)果如圖所示
小結(jié):
1.類中可以通過(guò)static關(guān)鍵定義靜態(tài)成員變量
2.靜態(tài)成員變量隸屬于類所有
3.每一個(gè)對(duì)象都可以訪問(wèn)靜態(tài)成員變量
4.靜態(tài)成員變量在全局?jǐn)?shù)據(jù)區(qū)分配空間
5.靜態(tài)成員變量的生命期為程序運(yùn)行期