C++中類的靜態成員與實例成員的區別


C++中類的靜態成員與實例成員的區別

1、有static修飾的成員變量或成員函數稱為靜態成員

2、在內存中,類的靜態數據成員占有一塊特定的內存空間,被該類的所有實例(對象)共享。而同一個類的不同對象的實例數據成員相互獨立,占有各自的存儲空間。

3、靜態變量不能在構造函數中初始化,必須在類外的文件作用域中定義靜態數據成員,即為它們分配存儲空間。

4、在類之外,需要使用類名和域解析操作符:: 訪問類的靜態數據成員和共有函數成員。

5、在靜態函數中,只能訪問類的靜態成員變量和靜態函數,而不能訪問類的實例數據成員。

 

靜態函數和普通函數的本質區別:編譯時,編譯器沒有為靜態函數指定this參數,而普通函數有this參數。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM