C++靜態成員函數基本概念講解

1.C++靜態成員函數的地址可用普通函數指針儲存,而普通成員函數地址需要用 類成員函數指針來儲存。 舉例如下:

   1. class base{   
   2. static int func1();   
   3. int func2();   
   4. };   
   5. int (*pf1)()=&base::func1;//普通的函數指針   
   6. int (base::*pf2)()=&base::func2;//成員函數指針

2.靜態成員函數不可以調用類的非靜態成員。因爲C++靜態成員函數不含this指針。

3.C++靜態成員函數不可以同時聲明爲 virtual、const、volatile函數。
舉例如下:

   1. class base{   
   2. virtual static void func1();//錯誤   
   3. static void func2() const;//錯誤   
   4. static void func3() volatile;//錯誤   
   5. };

最後要說的一點是,靜態成員是可以獨立訪問的,也就是說,無須創建任何對象實例就可以訪問。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章