在類中,靜態成員分爲靜態數據成員和靜態成員函數。
靜態數據成員
靜態數據成員是類的所有對象共享的成員,而不是某個對象的成員。使用靜態數據成員可以節省內存,因爲它是所有對象所公有的,值需存儲在一處。
靜態成員函數
靜態成員函數和靜態數據成員一樣,都屬於類的靜態成員,都不是對象成員。
靜態數據成員與普通數據成員的區別:
1、普通數據成員屬於類實例化的一個具體對象,只有對象被創建之後,普通數據成員纔會被分配內存空間,而靜態數據成員屬於整個類,即使沒有對象創建,也一直存在;
2、類的靜態數據成員應該顯示初始化,一定要在類體外;
3、通過類名訪問靜態數據成員;
4、類的靜態成員函數無法直接訪問普通數據成員,而類的任何成員函數都可以訪問類的靜態數據成員;
5、訪問級別public、private、protected。
6、靜態成員函數沒有this指針。因爲類只有一個靜態成員函數實例,所以使用this指針沒有意義。