天天看點

靜态成員變量和靜态成員函數用法

總結自各處大佬部落格,僅供學習

靜态成員變量:

  • 靜态成員變量隻能被初始化一次,且不該在頭檔案中初始化,初始化格式為: 

       <資料類型> <類名>::<靜态成員變量名> = <值>

  • 引用靜态成員變量時,格式如下:

       <類名>::<靜态成員變量名>

  • 靜态資料成員被類的所有對象所共享,包括該類派生類的對象。即派生類對象與基類對象共享基類的靜态資料成員。
  • 靜态資料成員可以成為成員函數的可選參數,而普通資料成員則不可以。
  • 靜态資料成員的類型可以是所屬類的類型,而普通資料成員則不可以。普通資料成員的隻能聲明為所屬類類型的指針或引用。

靜态成員函數:

  • C++ 普通成員函數都隐式包含了一個指向目前對象的this指針,而靜态成員函數是屬于類而非對象的,是以不含this指針
  • 靜态成員函數不可以調用類的非靜态成員
  • 靜态成員函數的位址可用普通函數指針儲存,而普通成員函數位址需要用 類成員函數指針來儲存。