成人免费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技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区在线看 | 99久久婷婷国产综合精品首页 | 喷水毛片 | 亚洲一区二区三区在线播放 | 久久伊| 青青久在线视频 | 久久成人免费视频 | 国产高清视频在线观看 | 中文字幕日韩一区 | 黄色成人在线网站 | 国产三区四区 | 欧美黄在线观看 | 久久久久久久久久影视 | 日韩av一区二区在线 | 亚州无限乱码 | 国产精品久久久久久婷婷天堂 | 欧美成人自拍视频 | 久久国产精品首页 | 色狠狠一区| 少妇一区在线观看 | www国产成人免费观看视频,深夜成人网 | 久久亚洲国产精品 | 成人在线一区二区 | 自拍偷拍第一页 | 午夜ww| 日韩欧美国产精品一区二区三区 | 黄色在线| 黄色毛片在线观看 | 综合国产 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 欧美精品在线观看 | 亚洲成人自拍 | 日韩精品在线网站 | 国产在线播放一区二区三区 | 欧美日韩第一页 | 国产在线资源 | 成人在线黄色 | 精品久久久久一区 | 亚洲国产精久久久久久久 | 亚洲一区在线日韩在线深爱 | 插插插干干干 |