C++筆記 第二十五課 類的靜態成員變數---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。
學習C++編譯環境:Linux
第二十五課 類的靜態成員變數
1.成員變數的回顧
通過物件名能夠訪問public成員變數
每個物件的成員變數都是專屬的
成員變數不能在物件之間共享
2.新的需求
統計在程式執行期間某個類的物件數目
保證程式的安全性(不能使用全域性變數)
隨時可以獲取當前物件的數目
25-1 解決方案的嘗試
3.靜態成員變數—開始介紹新概念啦~~
在C++中可以定義靜態成員變數
靜態成員變數屬於整個類所有
靜態成員變數的生命期不依賴於任何物件
可以通過類名直接訪問公有靜態成員變數
所有物件共享類的靜態成員變數
可以通過物件名訪問公有靜態成員變數
靜態成員變數的特性
在定義時直接通過static
靜態成員變數需要在類外單獨分配空間
靜態成員變數在程式內部位於全域性資料區
語法規則:
Type ClassName::VarName = value;
25-2 靜態成員變數的使用
小結
類中可以通過static關鍵定義靜態成員變數
靜態成員變數隸屬於類所有
每一個物件都可以訪問靜態成員變數
靜態成員變數在全域性資料區分配空間
靜態成員變數的生命期為程式執行期
相關推薦
C++筆記 第十六課 類的真正形態---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第十六課 類的真正形態 問題:經過不停的改進,結構體struct變得越來越不像它在C語言中的樣子!!! 1.類的關鍵字 struct在C語言中已經有了自己的含義,必須繼續
C++筆記 第二十七課 二階構造模式---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第二十七課 二階構造模式 1.建構函式的回顧 關於建構函式 類的建構函式用於物件的初始化 建構函式與類同名並且沒有返回值 建構函式在物件定義時自動被呼叫 2.問題 1
C++筆記 第二十四課 經典問題解析二---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第二十四課 經典問題解析二 1.關於析構的疑問 當程式中存在多個物件的時候,如何確定這些物件的析構順序? 單個物件建立時解構函式的呼叫順序 1.呼叫父類的析構過程(後續課程中
C++筆記 第二十一課 物件的構造順序---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第二十一課 物件的構造順序 問題:C++中的類可以定義多個物件,那麼物件構造的順序是怎樣的? 1.物件的構造順序一 對於 區域性物件 當程式執行流到達物件的定義語句時進行
C++筆記 第二十五課 類的靜態成員變數---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第二十五課 類的靜態成員變數 1.成員變數的回顧 通過物件名能夠訪問public成員變數 每個物件的成員變數都是專屬的 成員變數不能在物件之間共享 2.新的需求 統計
C++筆記 第十二課 經典問題解析一---狄泰學院
#1024程式設計師節# 如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第十二課 經典問題解析一 1.關於const的疑問 const什麼時候是隻讀變數?什麼時候是常量? const常量的判斷準則 只有用字面量初始化
C++筆記 第十一課 新型的型別轉換---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第十一課 新型的型別轉換 1.強制型別轉換 C方式的強制型別轉換 (Type)(Expression) Type (Expression)—老式型別 11-1 粗暴的型別轉
C++筆記 第二十六課 類的靜態成員函式---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第二十六課 類的靜態成員函式 1.未完成的需求 統計在程式執行期間某個類的物件數目 保證程式的安全性(不能使用全域性變數) 隨時可以獲取當前物件的數目(Failure)
C++筆記 第十五課 類與封裝的概念---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第十五課 類與封裝的概念 1.類的組合 電腦一般而言是由CPU,記憶體,主機板,鍵盤和硬碟等部件組合而成。 思考 1.學習電腦組裝需要多少時間?幾個月 2.學習電腦組裝是否
C++筆記 第二十九課 類中的函式過載---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第二十九課 類中的函式過載 1.函式過載回顧 函式過載的本質為相互獨立的不同函式 C++中通過函式名和函式引數確定函式呼叫 無法直接通過函式名得到過載函式的入口地址 函式過載
C++筆記 第五十九課 類模板深度剖析---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第五十九課 類模板深度剖析 1.多引數類模板 類模板可以定義任意多個不同的型別引數 類模板可以被特化 指定類模板的特定實現 部分型別引數必須顯示指定 根據型別引數分開實現類
C++筆記 第五十五課 經典問題解析四---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第五十五課 經典問題解析四 1.關於動態記憶體分配 new和malloc的區別是什麼? delete和free的區別是什麼? new關鍵字與malloc函式的區別 new關鍵
C++筆記 第四十五課 不同的繼承方式---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第四十五課 不同的繼承方式 1.被忽略的細節 冒號(:)表示繼承關係,parent表示被繼承的類,public的意義是什麼? 2.有趣的問題 是否可以將繼承語句中的
C++筆記 第二十二課 物件的銷燬---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第二十二課 物件的銷燬 1.物件的銷燬 生活中的物件都是被初始化後才上市的 生活中的物件被銷燬前會做一些清理工作 問題:C++中如何清理需要銷燬的物件 一般而言,需要銷燬的物
C++筆記 第二十八課 友元的尷尬能力---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第二十八課 友元的尷尬能力 1.友元的概念 什麼是友元? 友元是C++中的一種關係 友元關係發生在函式與類之間或者類與類之間 友元關係是單項的,不能傳遞 2.友元的用法
C++筆記 第五十七課 深入理解函式模板---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第五十七課 深入理解函式模板 1.函式模板 函式模板深入理解 編譯器從函式模板通過具體型別產生不同的函式 編譯器會對函式模板進行兩次編譯 對模板程式碼本身進行編譯 對引數替換
C++筆記(十五)——類 :物件陣列
一、定義 物件陣列是指每一個數組元素都是一個單獨的物件,即:若一個類有若干個物件,我們把這一系列的物件用一個數組來存放。 demo:物件陣列的使用 Object_Array.cpp #ifndef __OBJECT_ARRA
C++筆記 第三十六課 經典問題解析三---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第三十六課 經典問題解析三 1.關於賦值的疑問 什麼時候需要過載賦值操作符?編譯器是否提供預設的賦值操作? 編譯器為每個類預設過載了賦值操作符 預設的賦值操作符僅完成淺拷貝
C++筆記 第三十四課 陣列操作符的過載---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第三十四課 陣列操作符的過載 1.問題 string類物件還具備C方式字串的靈活性嗎?還能直接訪問單個字元嗎? 絕對支援陣列直接訪問單個字元,使用操作符過載函式進行就可以
C++筆記 第三十九課 逗號操作符的分析---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第三十九課 逗號操作符的分析 1.逗號操作符 逗號操作符(,)可以構成逗號表示式 逗號表示式用於將多個子表示式連線為一個表示式 逗號表示式的值為最後一個子表示式的值 逗號表示