1)static成員變數屬於類,不屬於某個具體的物件,即使建立多個物件,也只為static成員變數分配乙個記憶體
所有物件都是這個記憶體裡的statiic變數,如果對其做出修改也會影響到其他物件的使用
2)static成員變數必須在類外進行初始化
形如 type class ::name = value; int parent ::count = 0;
class parent
};int parent :: count = 0; ///在類外初始化
parent ::parent(int age, int score)
int main()
3)static成員變數不占用物件記憶體,是在物件之外(全域性資料區)開闢一塊記憶體,即使不建立物件也不能訪問。
4)static成員變數不隨物件的建立而建立,不隨物件的銷毀而銷毀,在程式結束時在銷毀;普通成員變數隨物件建立,隨物件銷毀
class parent
};int parent :: count = 0;
parent ::parent(int age, int score)
int main()
static 成員變數以及static成員函式
靜態成員變數必須在類外實現初始化。靜態資料成員儲存在靜態儲存區,在程式整個執行期間都存在。sizeof 類名student sizeof 物件名s1 為不包含靜態資料成員的記憶體大小。常用來解決計數問題 include using namespace std class student static...
類中static變數和成員變數
要理解標題,我們首先來看下static變數本身的特殊之處,即它儲存在全域性資料區。在類中的static變數也是如此。c 的記憶體分布 區 函式體的二進位制 全域性資料區 全域性變數和static變數 堆 動態記憶體分配 通過new 棧 區域性變數 常量區 字元 文字常量 這之後我們先通過 觀察一下區...
static修飾成員變數
static 靜態 修飾符 static修飾成員變數 如果乙個資料需要被所有物件共享使用的時候,那麼即可使用static修飾該成員變數。訪問方式 方式1 可以使用物件進行訪問。格式 物件.靜態屬性名 方式2 可以使用類名進行訪問。格式 類名.屬性名。靜態成員變數要注意的細節 1.靜態的成員變數可以使...