1. 程式人生 > >C++中的static關鍵字

C++中的static關鍵字

不能 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 static
int 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關鍵字