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

Static中C++類的數據共享

開發 后端
C++類實現共享有許多方法,比如:設置全局性的變量或對象是一種方法,全局變量或對象是有局限性的,下面進行詳細的說明。

本文充分介紹C++類?C++語言是對C語言的一個延伸,也就是說,一個C語言的程序,也可以認為是一個C++程序,對于在C++類中,靜態成員可以實現多個對象之間的數據共享。

靜態數據成員

C++類中,靜態成員可以實現多個對象之間的數據共享,并且使用靜態數據成員還不會破壞隱藏的原則,即保證了安全性。因此,靜態成員是類的所有對象中共享的成員,而不是某個對象的成員。

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

靜態數據成員的使用方法和注意事項如下:

1、靜態數據成員在定義或說明時前面加關鍵字static。

2、靜態成員初始化與一般數據成員初始化不同。靜態數據成員初始化的格式如下:

<數據類型><C++名>::<靜態數據成員名>=<值>

這表明:

(1)初始化在類體外進行,而前面不加static,以免與一般靜態變量或對象相混淆。

(2)初始化時不加該成員的訪問權限控制符private,public等。

(3)初始化時使用作用域運算符來標明它所屬類,因此,靜態數據成員是類的成員,而不是對象的成員。

3、靜態數據成員是靜態存儲的,它是靜態生存期,必須對它進行初始化。

4、引用靜態數據成員時,采用如下格式:

<類名>::<靜態成員名>

如果靜態數據成員的訪問權限允許的話(即public的成員),可在程序中,按上述格式來引用靜態數據成員。下面舉一例子,說明靜態數據成員的應用:

  1. #include   
  2. class Myclass  
  3. {  
  4. public:  
  5. Myclass(int a, int b, int c);  
  6. void GetNumber();  
  7. void GetSum();  
  8. private:  
  9. int A, B, C;  
  10. static int Sum;  
  11. };  
  12.  
  13. int Myclass::Sum = 0;  
  14.  
  15. Myclass::Myclass(int a, int b, int c)  
  16. {  
  17. A = a;  
  18. B = b;  
  19. C = c;  
  20. Sum += A+B+C;  
  21. }  
  22.  
  23. void Myclass::GetNumber()  
  24. {  
  25. cout<<"Number="<<<","<<<","<< 
  26. }  
  27.  
  28. void Myclass::GetSum()  
  29. {  
  30. cout<<"Sum="<< 
  31. }  
  32.  
  33. void main()  
  34. {  
  35. Myclass M(3, 7, 10),N(14, 9, 11);  
  36. M.GetNumber();  
  37. N.GetNumber();  
  38. M.GetSum();  
  39. N.GetSum();  

從輸出結果可以看到Sum的值對M對象和對N對象都是相等的。這是因為在初始化M對象時,將C++類的三個int型數據成員的值求和后賦給了Sum,于是 Sum保存了該值。在初始化N對象時。

對將N對象的三個int型數據成員的值求和后又加到Sum已有的值上,于是Sum將保存另后的值。所以,不論是通過對象M還是通過對象N來引用的值都是一樣的,即為54,現在,幾乎每個學習C++的都知道C++的核心問題是其復雜性;甚至本身不在C++社群的,也知道這是事實。群眾的眼睛是雪亮的,何況這還是個太顯而易見的事實。

【編輯推薦】

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

2011-04-07 16:34:05

staticC++

2024-04-08 11:35:34

C++static關鍵字

2010-01-21 13:33:44

C++基類

2024-12-30 11:12:59

C++靜態成員函數

2011-07-14 23:14:42

C++static

2010-01-28 13:27:12

C++類定義

2011-04-21 16:57:56

staticextern

2010-02-03 15:27:26

C++ static

2011-07-20 16:48:22

C++static

2024-02-22 18:07:17

C++靜態成員代碼

2010-01-20 09:54:27

C++數據類型

2010-01-15 18:35:25

C++的類

2024-04-11 08:16:36

C++線程共享數據

2010-01-21 09:34:57

C++語法

2010-01-27 16:05:06

C++堆棧

2010-01-21 14:07:14

CC++聲明

2024-02-26 10:36:59

C++開發關鍵字

2010-01-21 13:48:30

C++基類

2011-06-21 10:17:41

c++內存模型

2010-01-18 17:57:02

靜態數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: av网站免费观看 | 99热视 | 欧美一区二区三区四区五区无卡码 | 日本手机看片 | 99精品国产一区二区三区 | 日韩av在线一区 | 中文字幕一区二区三区乱码在线 | 国产成人网| 成人av一区二区三区 | 国产网站久久 | 婷婷在线视频 | 久久国产亚洲 | 久久国产三级 | 亚洲天堂一区 | 欧美午夜久久 | 中文字幕一区二区在线观看 | 91精品一区二区三区久久久久 | 国产成人综合亚洲欧美94在线 | 午夜一区二区三区视频 | 免费av电影网站 | 久久久www成人免费无遮挡大片 | 天天天天操 | 黄色永久免费 | 亚洲精品视频在线播放 | 成人三级网址 | 亚洲精品视频在线 | 日韩视频一区二区三区 | 成人精品视频 | 亚洲欧美日韩精品久久亚洲区 | 麻豆国产一区二区三区四区 | 亚洲男人的天堂网站 | 免费看国产精品视频 | 视频一区二区三区四区五区 | 国产97色 | 欧美久久国产精品 | 国产乱码精品一区二区三区av | 国产美女精品 | 在线国产小视频 | 麻豆av在线 | 久久中文字幕一区 | 亚洲精品在线观看网站 |