總結自各處大佬部落格,僅供學習
靜态成員變量:
- 靜态成員變量隻能被初始化一次,且不該在頭檔案中初始化,初始化格式為:
<資料類型> <類名>::<靜态成員變量名> = <值>
- 引用靜态成員變量時,格式如下:
<類名>::<靜态成員變量名>
- 靜态資料成員被類的所有對象所共享,包括該類派生類的對象。即派生類對象與基類對象共享基類的靜态資料成員。
- 靜态資料成員可以成為成員函數的可選參數,而普通資料成員則不可以。
- 靜态資料成員的類型可以是所屬類的類型,而普通資料成員則不可以。普通資料成員的隻能聲明為所屬類類型的指針或引用。
靜态成員函數:
- C++ 普通成員函數都隐式包含了一個指向目前對象的this指針,而靜态成員函數是屬于類而非對象的,是以不含this指針
- 靜态成員函數不可以調用類的非靜态成員
- 靜态成員函數的位址可用普通函數指針儲存,而普通成員函數位址需要用 類成員函數指針來儲存。