新需求:
統計在程式執行期間某個類的物件數目
保證程式的安全性(不能使用全域性變數)
隨時可以獲取當前物件的數目
#incldue
class
test
~test()
intgetcount()
};test gtest;
intmain()
輸出結果為 1 1 1,沒有達到使用者需求!!
每個成員都擁有乙個變數,不是公共的,所以輸出都是1
引入概念
在c艹中可以定義靜態成員變數
靜態成員變數屬於整個類所有
靜態成員變數的生命期不依賴於任何物件(就是程式執行的生命期)
可以通過類名直接訪問公共靜態成員變數
所有物件共享類的靜態成員變數
可以通過物件名訪問共有靜態成員變數
靜態成員變數的特性
-在定義時直接通過static關鍵字修飾
-靜態成員變數需要在類外單獨分配空間
-靜態成員變數在程式內部位於全域性資料區
語法規則:
type classname::varname = value;
修改**:
#incldue
class
test
~test()
intgetcount()
};int test::ccount =0;
//靜態變數位於全域性區,所以要在全域性定義
test gtest;
intmain()
輸出結果: 3 3 3 4 3 類的靜態成員變數
通過物件名能夠訪問public成員變數,每個物件的成員變數都是專屬的,成員變數不能再物件之間共享,先來看乙個例子 include class test test intgetcount test gtest intmain 結果 sice sice g a.c sice sice a.out cou...
類的靜態成員變數
在c 中可以定義靜態成員變數 靜態成員變數屬於整個類所有 靜態成員變數的生命週期不依賴於任何物件 可以通過類名直接訪問公有靜態成員變數 所有物件共享類的靜態成員變數 可以通過物件名訪問公有靜態成員變數 靜態成員變數 靜態成員變數的特性 在定義時直接通過static關鍵字修飾 靜態成員變數需要在類外單...
類中的靜態成員變數 靜態成員函式
類中的靜態成員變數 靜態成員函式?1 類中的靜態成員變數 靜態成員變數屬於整個類,不屬於某個特定的物件,因此無論建立了多少個物件,所有物件都共享類中的靜態成員變數。靜態成員變數必須在類內宣告,類外初始化。2 類中的靜態成員函式 靜態成員函式也是屬於類本身,而不屬於某個特定的物件。靜態成員函式與普通成...