第26課 靜態成員函式

2022-06-21 06:30:09 字數 1147 閱讀 8549

未完成的需求

統計在程式執行期間某個類的物件數目

保證程式的安全性(不能使用全域性變數)

隨時可以獲取當前物件的數目(failure)

假設程式中沒有test物件,你就無法獲取當前物件的數目。因為在上乙個程式中是使用物件去呼叫成員函式的,此時如果沒有物件,如何去呼叫呢?

解決方案1:

#include class

test

~test()

intgetcount()

};int test::ccount = 0

;int

main()

上述程式,雖然可以統計出物件的數目(即使是在沒有定義物件的情況下),但是從test::ccount = 1000可以看出,非常不安全,還是不滿足要求。那如何來解決呢?

我們需要什麼?

不依賴物件就可以訪問靜態成員變數

必須保證靜態成員變數的安全性

方便快捷的獲取靜態成員變數的值

在c++中可以定義靜態成員函式

——靜態成員函式是類中特殊的成員函式

——靜態成員函式屬於整個類所有

——可以通過類名直接訪問公有靜態成員函式

——可以通過物件名訪問公有靜態成員函式

小結:靜態成員函式是類中特殊的成員函式

靜態成員函式沒有隱藏的this引數

靜態成員函式可以通過類名直接訪問

靜態成員函式只能直接訪問靜態成員變數(函式)

C 第26課 類的靜態成員函式

本文學習自 狄泰軟體學院 唐佐林老師的 c 課程 總結說明 靜態成員變數的意義 為什麼要有靜態成員變數 是因為 成員變數都是每個物件專屬的,但是所有類共享乙個變數的話,就要用靜態成員變數 靜態成員函式的意義 靜態成員函式的意義是 如果沒有物件存在的時候,也可以訪問靜態成員變數。靜態成員函式也是公有的...

26 類的靜態成員函式

注 部落格中內容主要來自 狄泰軟體學院 部落格僅當私人筆記使用。測試環境 ubuntu 10.10 gcc版本 9.2.0 一 未完成的需求 1 統計在程式執行期間某個類的物件數目 2 保證程式的安全性 不能使用全域性變數 3 隨時可以獲取當前物件的數目 failure 程式設計實驗 解決方案的嘗試...

《php物件導向》 第12課 靜態成員

在類中除了有普通的成員 普通的屬性和普通的方法 還有靜態的成員 靜態屬性和靜態方法 先看下面的 class book 第一次例項化物件 b1 new book b1 showme 第二次例項化物件 b2 new book b2 showme 第三次例項化物件 b3 new book b3 showm...