中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++類的靜態成員有哪些

發布時間:2021-11-29 16:12:06 來源:億速云 閱讀:139 作者:iii 欄目:編程語言

本篇內容介紹了“C++類的靜態成員有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

靜態成員函數的實現中不能直接引用類中說明的非靜態成員,可以引用類中說明的靜態成員。如果靜態成員函數中要引用非靜態成員時,可通過對象來引用。下面通過例子來說明這一點。

#include   class M    {  public:  M(int a) { A=a; B+=a;}    static void f1(M m);    private:  int A;  static int B;  };     void M::f1(M m)  {  cout<<"A="<< cout<<"B="<< }  int M::B=0;  void main()   {  M P(5),Q(10);    M::f1(P); file://調用時不用對象名  M::f1(Q);  }

讀者可以自行分析其結果。從中可看出,調用靜態成員函數使用如下格式:一個類的靜態成員函數不能像非靜態成員函數那樣“默認調用”它的非靜態成員函數(因為靜態成員函數沒有隱含的this參數)。

在一個類的靜態成員函數中,只要通過某種方式得到了一個指向本類型的對象的指針,并且有合適的access   level,   就可以對此對象調用其非靜態成員函數。

1.用來保存對象的個數。  
2.作為一個標記,標記一些動作是否發生,比如:文件的打開狀態,打印機的使用狀態,等等。  
3.存儲鏈表的***個或者***一個成員的內存地址。  

靜態成員函數的作用基本上相當于一個帶有命名空間的全局函數。
1、你不需要生成一個對象的實例就可以直接使用該函數。如,Cxxx::MyStaticFunc();
2、窗口回調函數需使用靜態成員函數或全局函數。
3、線程調用需使用靜態成員函數或全局函數。

C++是在C語言大行其道的歷史背景下發展起來的,在一開始以及后來的相當長一段時間內,C++是C的超集,所有C的特性在C++里面都有,因此導致了大量后來的C++入門書籍都從C講起,實際上,這是一個誤導,因為C++雖然是C的超集,然而用抽象機制擴展C語言的重大意義就在于用抽象去覆蓋C當中裸露的種種語言特性,讓程序員能夠在一個更自然的抽象層面上編程。

  • C++程序基礎知識說明

  • 詳細介紹C++數據類型

  • 對于C++操作符淺析說明

  • 詳細說明C++中的C++函數

  • 透析C++ main()函數形式

比如你不是用int*加一個數組大小n來表示一個數組,而是用可自動增長的vector;比如你不是用malloc/free,而是用智能指針和RAII技術來管理資源;比如你不是用一個只包含數據的結構體加上一組函數來做一個暴露的類,而是使用真正的ADT。

比如你不是使用second-class的返回值來表達錯誤,而是利用first-class的語言級異常機制等等。然而,C畢竟是C++的源頭,剝開C++的抽象外衣,底層仍然還是C;而且,更關鍵的是,在實際編碼當中,有時候還的確要“C++”一把,比如在模塊級的二進制接口封裝上。Bjarne也說過,OO/GP這些抽象機制只有用在合適的地方才是合適的。

“C++類的靜態成員有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

隆林| 英吉沙县| 新巴尔虎右旗| 科技| 日喀则市| 朝阳区| 交口县| 东港市| 灌云县| 金溪县| 射阳县| 富川| 竹山县| 寿宁县| 洛浦县| 景德镇市| 庆城县| 阿巴嘎旗| 泰宁县| 遵义县| 鄂托克旗| 太谷县| 正阳县| 全州县| 左贡县| 冕宁县| 且末县| 昆明市| 贡嘎县| 乐平市| 通州市| 辽阳市| 湟中县| 资阳市| 湖北省| 如东县| 咸阳市| 南昌市| 富宁县| 诸暨市| 内乡县|