日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++类的静态成员详解

發(fā)布時(shí)間:2024/4/18 c/c++ 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++类的静态成员详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

類的靜態(tài)成員分為靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)

靜態(tài)成員的原理及作用可以參考

c++ static的作用,以及static對(duì)象在類和函數(shù)中區(qū)別_Kikim的地盤-CSDN博客

舉例如下:

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

  假如我們要設(shè)計(jì)一個(gè)戰(zhàn)爭游戲,游戲中有許多的兵種。游戲的過程中,每隔一段時(shí)間每個(gè)兵種都會(huì)產(chǎn)生,同時(shí)由于戰(zhàn)爭的消耗,每個(gè)兵種士兵的數(shù)量又會(huì)減少。為了情節(jié)更逼真吶,我們引入了一個(gè)士氣的概念,當(dāng)士氣比較高的時(shí)候,這個(gè)兵種的士氣戰(zhàn)斗力就會(huì)很強(qiáng),士氣較低的時(shí)候,兵種的戰(zhàn)斗力就會(huì)比較弱。兵種的士氣受很多因素影響,其中一個(gè)最直接的因素就是士兵的數(shù)量相關(guān),它與數(shù)量成正比。我們就需要一組全局變量,每個(gè)變量都會(huì)記錄當(dāng)前兵種的數(shù)量,但是使用全局變量會(huì)引入很多的問題,使用全局變量的安全得不到保障,我們可以在程序的任何地方修改它的值。全局變量還可能導(dǎo)致命名空間的污染,當(dāng)程序比較大的時(shí)候,各個(gè)模塊之間有可能沖突。那如果不使用全局變量,我們就可以使用靜態(tài)的數(shù)據(jù)成員。

  靜態(tài)數(shù)據(jù)成員:以static開頭。靜態(tài)數(shù)據(jù)成員為各個(gè)對(duì)象共有,不屬于某個(gè)具體的對(duì)象,所有對(duì)象都可以對(duì)它進(jìn)行引用,都可以讀取和修改。若一個(gè)對(duì)象修改了該靜態(tài)成員的值,則在其他各個(gè)對(duì)象中該數(shù)據(jù)成員的值都會(huì)同時(shí)改變。

  定義類時(shí)就為靜態(tài)數(shù)據(jù)成員分配空間,不隨對(duì)象的建立而分配空間。可以說它是屬于這個(gè)類的,定義完類之后就可以引用。

  1.定義方法

  static int count;//定義了一個(gè)int類型的靜態(tài)數(shù)據(jù)成員,它的定義是在類里面,但是初始化不可以在類的里面類外面初始化 (你可以在類的實(shí)現(xiàn)文件里面初始化):

  int CTime::count=0;//初始化不要再加static

  2.調(diào)用方法

  1)類名::靜態(tài)成員

  2)對(duì)象名.靜態(tài)成員

  在類內(nèi)的靜態(tài)數(shù)據(jù)成員僅僅是對(duì)該成員的聲明,同時(shí)還需要在類外部進(jìn)行定義。

  當(dāng)我們?cè)跇?gòu)造函數(shù)里面對(duì)它++然后輸出,在析構(gòu)函數(shù)里面—輸出就得到這樣的結(jié)果:構(gòu)造函數(shù)調(diào)用的次數(shù)就是創(chuàng)建對(duì)象的個(gè)數(shù),析構(gòu)函數(shù)調(diào)用的次數(shù)就是銷毀對(duì)象的次數(shù)。

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

  在聲明成員函數(shù)時(shí)在函數(shù)前添加static關(guān)鍵字就定義了靜態(tài)成員函數(shù)。

  與靜態(tài)數(shù)據(jù)成員一樣,靜態(tài)成員函數(shù)也是類的一部分。

  1.聲明靜態(tài)成員函數(shù)

  static int func(); //定義的時(shí)候不需要static關(guān)鍵字

  2.調(diào)用靜態(tài)成員函數(shù)

  1)類名::靜態(tài)成員函數(shù)

  2)對(duì)象名.靜態(tài)成員函數(shù)

  靜態(tài)成員函數(shù)一般是為了處理靜態(tài)的數(shù)據(jù)成員。

  與一般成員函數(shù)的區(qū)別:

  1)非靜態(tài)成員函數(shù)有this指針,靜態(tài)成員函數(shù)沒有this指針。

  2)因?yàn)樗梢栽谖炊x類對(duì)象時(shí)就可以引用。因此靜態(tài)成員函數(shù)不能訪問本類中的非靜態(tài)成員(沒有this指針,就不能通過引用調(diào)用成員函數(shù)和數(shù)據(jù)成員)。

總結(jié)

以上是生活随笔為你收集整理的C++类的静态成员详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。