7.6 類的靜態(tài)成員

7.6 類的靜態(tài)成員

靜態(tài)成員的特性

  • 靜態(tài)成員屬于類,而不是對(duì)象。
  • 類型可以是類對(duì)象、指針、引用、常量等。
  • 靜態(tài)成員函數(shù)不能聲明為const類型。

使用靜態(tài)成員

  • 類外使用作用域符::訪問(wèn)。
  • 當(dāng)然也可以通過(guò)類對(duì)象訪問(wèn),例如a.static()。
  • 成員函數(shù)訪問(wèn)時(shí)無(wú)需通過(guò)作用域符。

定義靜態(tài)成員

  • 類外定義時(shí)不能再使用static關(guān)鍵字。
  • 一般在類的外部和初始化靜態(tài)成員。
  • 靜態(tài)成員只能定義一次,存在于程序的整個(gè)生命周期內(nèi)。
  • 即使在類內(nèi)初始化了靜態(tài)成員,在類外最好也定義一次,當(dāng)然不能再初始化它了。
  • 如果在類內(nèi)初始化靜態(tài)成員,靜態(tài)成員必須是字面值常量的constexpr,為其提供const整數(shù)類型的初始化值,例如:
class A
{
 public:

  static    constexpr int val = 30;
  int array[val];
}

靜態(tài)成員和普通成員的一些區(qū)別

  • 靜態(tài)成員可以作為函數(shù)的默認(rèn)實(shí)參,例如
class A
{
public:

  void setAge(int age = default);

  static const int default;
}
  • 靜態(tài)成員可以像指針一樣是不完整類型,例如
class A
{
public:

  void setAge(int age = default);

  static A instance;  //正確
  
  A* m_pA;   //正確

  A  m_a;  //錯(cuò)誤
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,527評(píng)論 19 139
  • C++文件 例:從文件income. in中讀入收入直到文件結(jié)束,并將收入和稅金輸出到文件tax. out。 檢查...
    SeanC52111閱讀 3,090評(píng)論 0 3
  • 一、基本數(shù)據(jù)類型 注釋 單行注釋:// 區(qū)域注釋:/* */ 文檔注釋:/** */ 數(shù)值 對(duì)于byte類型而言...
    龍貓小爺閱讀 4,441評(píng)論 0 16
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,636評(píng)論 18 399
  • 本周刷爆朋友圈的是 小李子終于憑借《荒野獵人》的勇敢犧牲 獲得了奧斯卡獎(jiǎng), 不管是不是小李子的粉絲都松了一口氣 他...
    阿翼閱讀 363評(píng)論 1 0

友情鏈接更多精彩內(nèi)容