自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析C++靜態(tài)成員函數(shù)操作

開發(fā) 后端
C++靜態(tài)成員函數(shù)和靜態(tài)數(shù)據(jù)成員,對靜態(tài)成員的引用不需要用對象名,一個函數(shù)可以調(diào)用其他函數(shù)。在設(shè)計良好的程序中,每個函數(shù)都有特定的目的。

成員函數(shù)的實現(xiàn)中不能直接引用類中說明的非靜態(tài)成員,可以引用類中說明的靜態(tài)成員,如果C++靜態(tài)成員函數(shù)中要引用非靜態(tài)成員時,可通過對象來引用。下面通過例子來說明這一點。

  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://調(diào)用時不用對象名  
  23. M::f1(Q);  

讀者可以自行分析其結(jié)果。從中可看出,調(diào)用靜態(tài)成員函數(shù)使用如下格式:

  1. <類名>::<靜態(tài)成員函數(shù)>(<參數(shù)表>); 

一個類的靜態(tài)成員函數(shù)不能像非靜態(tài)成員函數(shù)那樣“默認調(diào)用”它的非靜態(tài)成員函數(shù)(因為靜態(tài)成員函數(shù)沒有隱含的this參數(shù))。在一個類的靜態(tài)成員函數(shù)中,只要通過某種方式得到了一個指向本類型的對象的指針。

并且有合適的access   level,   就可以對此對象調(diào)用其非C++靜態(tài)成員函數(shù)。
1.用來保存對象的個數(shù)。  #t#
2.作為一個標記,標記一些動作是否發(fā)生,比如:文件的打開狀態(tài),打印機的使用狀態(tài),等等。  
3.存儲鏈表的***個或者***一個成員的內(nèi)存地址。  

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

使用靜態(tài)數(shù)據(jù)成員可以節(jié)省內(nèi)存,因為它是所有對象所公有的,因此,對多個對象來說,靜態(tài)數(shù)據(jù)成員只存儲一處,供所有對象共用。靜態(tài)數(shù)據(jù)成員的值對每個對象都是一樣,但它的值是可以更新的。只要對靜態(tài)數(shù)據(jù)成員的值更新一次,保證所有對象存取更新后的相同的值,這樣可以提高時間效率。

責(zé)任編輯:chenqingxiang 來源: NET130
相關(guān)推薦

2010-02-04 10:08:00

C++靜態(tài)成員函數(shù)

2010-01-21 14:19:44

C++靜態(tài)成員

2010-01-18 18:04:28

靜態(tài)成員

2010-01-28 16:42:29

C++靜態(tài)成員

2009-07-31 15:44:02

C#靜態(tài)構(gòu)造函數(shù)

2011-05-24 16:58:52

CC++

2009-11-17 09:07:55

靜態(tài)構(gòu)造函數(shù)

2011-06-11 21:36:44

C#C++

2010-01-27 17:16:52

C++構(gòu)造函數(shù)

2023-10-07 15:53:05

C/C++靜態(tài)變量內(nèi)存

2010-01-18 17:57:02

靜態(tài)數(shù)據(jù)

2024-02-22 18:07:17

C++靜態(tài)成員代碼

2009-08-13 18:02:11

C#靜態(tài)構(gòu)造函數(shù)

2010-01-19 18:35:12

靜態(tài)成員

2010-02-04 10:02:08

C++靜態(tài)數(shù)據(jù)成員

2025-01-26 16:01:13

C++靜態(tài)成員函數(shù)

2010-01-27 16:10:32

C++靜態(tài)構(gòu)造函數(shù)

2010-01-22 11:13:16

C++靜態(tài)

2010-01-20 17:58:54

C++靜態(tài)成員

2023-03-21 15:21:52

開發(fā)程序設(shè)計static
點贊
收藏

51CTO技術(shù)棧公眾號