C++中的static關鍵字
阿新 • • 發佈:2018-01-24
不能 get () turn out nbsp 所有 說明 靜態
類中的成員可分為普通成員和靜態成員,函數可分為普通函數和靜態函數。普通成員只能是每個對象獨自擁有,而靜態成員則是類的所有對象所共有的。靜態成員函數中,只能調用靜態成員變量,不能調用普通成員變量。
例如:
1 class mydata 2 { 3 public: 4 mydata(int A,int B){a=A;b=B;} 5 ~mydata(){}; 6 void static fun() 7 { 8 cout<<"c:"<<c<<endl;//合法。靜態函數中能且只能調用靜態成員變量 9 //cout<<"a:"<<a<<endl;//非法!靜態函數中不能調用普通成員變量 10 } 11 12 void getA(){cout<<"a:"<<a<<endl;} 13 void getB(){cout<<"b:"<<b<<endl;} 14 void getC(){cout<<"c:"<<c<<endl;} 15 16 private: 17 int a; 18 int b; 19 staticint c; 20 }; 21 22 int mydata::c = 5;//靜態成員變量的定義性說明 23 24 int main() 25 { 26 mydata d1(3,4); 27 d1.fun();//通過對象調用類的靜態成員函數 28 mydata::fun();//通過類名調用類的靜態成員函數 29 30 return 0; 31 }
C++中的static關鍵字