#include <iostream>
using namespace std;
class Myclass{
public:
int datas;
static int staticValue; //靜態(tài)成員變量在類外進行初始化
void printInfo(){
cout<<datas<<endl;
}
static int getStaticDatas()//靜態(tài)成員函數(shù)不能直接訪問非靜態(tài)變量和非靜態(tài)函數(shù),
{ //因為靜態(tài)函數(shù)在編譯階段就已經(jīng)存在,非靜態(tài)函數(shù)和變量在運行階段存在,先存在的不能訪問后存在的
return staticValue;
}
};
class Test{
public:
void printInfo();
};
void Test::printInfo()
{
//靜態(tài)變量也可以通過其他類進行訪問,類似于全局
Myclass::staticValue++;
cout << Myclass::staticValue<< endl;
//靜態(tài)函數(shù)也可以通過其他類進行訪問
cout << Myclass::getStaticDatas()<< endl;
}
//靜態(tài)成員變量在類外進行初始化
int Myclass::staticValue = 0;
int main()
{
//靜態(tài)變量可以不用通過對象進行訪問,可以通過類名直接訪問;
cout << Myclass::staticValue<< endl;
//靜態(tài)函數(shù)可以不用通過對象進行訪問,可以通過類名直接訪問;
cout << Myclass::getStaticDatas()<< endl;
Test t1;
t1.printInfo();
return 0;
}
?
#include <iostream>
using namespace std;
class Myclass{
public:
static int DuiXiangNum; //靜態(tài)成員變量在類外進行初始化
static int getDuiXiangNum()//靜態(tài)成員函數(shù)不能直接訪問非靜態(tài)變量和非靜態(tài)函數(shù),
{ //因為靜態(tài)函數(shù)在編譯階段就已經(jīng)存在,非靜態(tài)函數(shù)和變量在運行階段存在,先存在的不能訪問后存在的
return DuiXiangNum;
}
Myclass(){
DuiXiangNum++;
}
~Myclass()
{
DuiXiangNum--;
}
};
//靜態(tài)成員變量在類外進行初始化
int Myclass::DuiXiangNum = 0;
int main()
{
Myclass m1;
cout << Myclass::getDuiXiangNum()<< endl;//1
Myclass m2;
cout << Myclass::getDuiXiangNum()<< endl;//2
{
Myclass m3;
cout << Myclass::getDuiXiangNum()<< endl;//3
Myclass m4;
cout << Myclass::getDuiXiangNum()<< endl;//4
}
Myclass m5;
cout << Myclass::getDuiXiangNum()<< endl;//3
Myclass* m6 = new Myclass;
cout << Myclass::getDuiXiangNum()<< endl;//4
delete m6;
cout << Myclass::getDuiXiangNum()<< endl;//3
return 0;
}
?文章來源:http://www.zghlxwxcb.cn/news/detail-809512.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-809512.html
到了這里,關(guān)于class_13:靜態(tài)成員static關(guān)鍵字的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!