C++ 靜態數據成員

——類的全部對象共同一個靜態數據成員,只建立一個靜態數據成員副本對象

class StringBad
{
private:
    char *str;
    int len;
    static int num_strings;  // 聲明靜態數據成員
public:
    ...
};

  靜態數據成員在類聲明中聲明blog

int StringBad::num_strings = 0;    // 初始化靜態數據成員
  • 不能在類聲明中初始化靜態類成員變量,由於聲明描述瞭如何分配內存,但並不分配內存,應在包含類方法的文件中初始化
  • 使用做用域解析運算符::來指出靜態類成員所屬的類
  • 不使用關鍵字static
  • 但若是靜態類成員是整型或枚舉型const,則能夠在類聲明中初始化
相關文章
相關標籤/搜索