成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

漫談C++類的靜態成員

開發 后端
在C++中語言中,靜態成員函數和靜態數據成員一樣,它們都屬于類的靜態成員,它們都不是對象成員,可以在使用的過程當中感受到趣味性和吸引力。

靜態數據成員的值對每個對象都是一樣,這些對于一些專業的程序員來說進行靜態成員函數實現是一件非常頭疼的事情,看完本文一定會讓您解決是你頭疼的靜態成員函數的問題了!

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

  1. #include   
  2. class M  
  3. {  
  4. public:  
  5. M(int a) { A=a; B+=a;}  
  6. static void f1(M m);  
  7. private:  
  8. int A;  
  9. static int B;  
  10. };  
  11.  
  12. void M::f1(M m)  
  13. {  
  14. cout<<"A="<< 
  15. cout<<"B="<< 
  16. }  
  17.  
  18. int M::B=0;  
  19. void main()  
  20. {  
  21. M P(5),Q(10);  
  22. M::f1(P); file://調用時不用對象名  
  23. 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當中裸露的種種語言特性,讓程序員能夠在一個更自然的抽象層面上編程。

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

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

【編輯推薦】

  1. 簡介學習C++總結之談
  2. 對C++庫函數進行學習探索總結筆記
  3. C++類庫設計的基本構思與方法
  4. C++語言真的還有市場價值?
  5. C++類庫設計的基本構思與方法
責任編輯:chenqingxiang 來源: NET130
相關推薦

2024-02-22 18:07:17

C++靜態成員代碼

2010-01-19 18:35:12

靜態成員

2010-01-21 14:19:44

C++靜態成員

2011-05-24 16:58:52

CC++

2009-08-28 14:09:19

C#靜態類

2010-01-18 17:57:02

靜態數據

2023-10-07 15:53:05

C/C++靜態變量內存

2010-01-21 14:28:03

C++靜態成員函數

2010-01-28 16:42:29

C++靜態成員

2010-02-03 11:01:18

C++類靜態成員初始化

2024-08-26 15:06:20

2010-01-20 17:58:54

C++靜態成員

2010-02-04 10:08:00

C++靜態成員函數

2010-02-04 10:02:08

C++靜態數據成員

2010-01-18 16:56:30

C++函數

2010-01-14 14:40:21

C++代碼

2010-02-01 17:31:06

C++類成員

2023-03-21 15:21:52

開發程序設計static

2021-06-18 12:30:36

C++函數指針編程語言

2009-05-26 09:31:00

C++重載覆蓋
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 特黄毛片| 在线观看欧美一区 | 国产9999精品 | 日韩电影中文字幕 | 羞羞的视频免费看 | av网站在线免费观看 | 久久久青草婷婷精品综合日韩 | 国产精品大片 | 久久里面有精品 | h视频在线免费 | 中文字幕a√ | 欧美三级久久久 | 综合久久99 | 国产精品九九九 | 亚洲国产精品久久久久 | 97免费在线视频 | 男人阁久久 | 日本天天操 | 亚洲视频精品 | 三级av免费 | 久久99国产精一区二区三区 | 国产精品免费观看 | 欧美一级二级在线观看 | 色综合久久久久 | 久久久久久久久久久福利观看 | 久久精彩 | 欧美日一区 | 在线色网址 | 日本一区二区在线视频 | av在线视| 欧美日韩久久 | 日本成人中文字幕 | 日韩免费1区二区电影 | 国产日韩一区二区 | 国产一区二区三区久久久久久久久 | 国产精品成人在线播放 | 青青久草 | 黑人粗黑大躁护士 | 国产一区二区 | 亚洲精品女人久久久 | 可以免费观看的av |