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

怎樣進(jìn)行C++靜態(tài)構(gòu)造函數(shù)?

開(kāi)發(fā) 后端
在C++語(yǔ)言中進(jìn)行構(gòu)造函數(shù)時(shí),如果沒(méi)有寫(xiě)C++靜態(tài)構(gòu)造函數(shù),而類中包含帶有初始值設(shè)定的靜態(tài)成員,那么編譯器會(huì)自動(dòng)生成默認(rèn)的C++靜態(tài)構(gòu)造函數(shù)。

函數(shù)是C++ 語(yǔ)言程序的主要組成部分,一個(gè)函數(shù)可以調(diào)用其他函數(shù)。在設(shè)計(jì)良好的程序中,每個(gè)函數(shù)都有特定的目的,也就是在創(chuàng)建***個(gè)實(shí)例或引用任何靜態(tài)成員之前,由.NET自動(dòng)調(diào)用。

靜態(tài)構(gòu)造函數(shù)是C++的一個(gè)新特性,其實(shí)好像很少用到。不過(guò)當(dāng)我們想初始化一些靜態(tài)變量的時(shí)候就需要用到它了。這個(gè)構(gòu)造函數(shù)是屬于類的,而不是屬于哪里實(shí)例的,就是說(shuō)這個(gè)構(gòu)造函數(shù)只會(huì)被執(zhí)行一次。

以下是引用片段:

  1.  class SimpleClass   
  2.   {   
  3.   // Static constructor   
  4.   static SimpleClass()   
  5.   {   
  6.   //   
  7.   }   
  8.   } 

在使用C++靜態(tài)構(gòu)造函數(shù)的時(shí)候應(yīng)該注意幾點(diǎn):

1、靜態(tài)構(gòu)造函數(shù)既沒(méi)有訪問(wèn)修飾符,也沒(méi)有參數(shù)。因?yàn)槭?NET調(diào)用的,所以像public和private等修飾符就沒(méi)有意義了。

2、是在創(chuàng)建***個(gè)類實(shí)例或任何靜態(tài)成員被引用時(shí),.NET將自動(dòng)調(diào)用靜態(tài)構(gòu)造函數(shù)來(lái)初始化類,也就是說(shuō)我們無(wú)法直接調(diào)用靜態(tài)構(gòu)造函數(shù),也就無(wú)法控制什么時(shí)候執(zhí)行靜態(tài)構(gòu)造函數(shù)了。

3、一個(gè)類只能有一個(gè)靜態(tài)構(gòu)造函數(shù)。

4、無(wú)參數(shù)的構(gòu)造函數(shù)可以與靜態(tài)構(gòu)造函數(shù)共存。盡管參數(shù)列表相同,但一個(gè)屬于類,一個(gè)屬于實(shí)例,所以不會(huì)沖突。

5、最多只運(yùn)行一次。

6、靜態(tài)構(gòu)造函數(shù)不可以被繼承。

7、如果沒(méi)有寫(xiě)C++靜態(tài)構(gòu)造函數(shù),而類中包含帶有初始值設(shè)定的靜態(tài)成員,那么編譯器會(huì)自動(dòng)生成默認(rèn)的C++靜態(tài)構(gòu)造函數(shù)。

現(xiàn)在我們來(lái)看構(gòu)造函數(shù)中冒號(hào)初始化和函數(shù)初始化的問(wèn)題,類構(gòu)造函數(shù)的作用是創(chuàng)建一個(gè)類的對(duì)象時(shí),調(diào)用它來(lái)構(gòu)造這個(gè)類對(duì)象的數(shù)據(jù)成員。一要給出此數(shù)據(jù)成員分配內(nèi)存空間,二是要給函數(shù)數(shù)據(jù)成員初始化,構(gòu)造數(shù)據(jù)成員是按數(shù)據(jù)成員在類中聲明的順序進(jìn)行構(gòu)造。

冒號(hào)初始化與函數(shù)體初始化的區(qū)別在于:

冒號(hào)初始化是給數(shù)據(jù)成員分配內(nèi)存空間時(shí)就進(jìn)行初始化,就是說(shuō)分配一個(gè)數(shù)據(jù)成員只要冒號(hào)后有此數(shù)據(jù)成員的賦值表達(dá)式(此表達(dá)式必須是括號(hào)賦值表達(dá)式)。那么分配了內(nèi)存空間后在進(jìn)入函數(shù)體之前給數(shù)據(jù)成員賦值。

就是說(shuō)初始化這個(gè)數(shù)據(jù)成員此時(shí)函數(shù)體還未執(zhí)行。 所以在C++中就增加了這種機(jī)制,這是面向?qū)ο缶幊趟仨毜?。不知道我講明白沒(méi)有。如不明白請(qǐng)查閱有關(guān)資料。在上面的程序中通不過(guò)編譯。

編譯系統(tǒng)會(huì)告訴你teacher這個(gè)類對(duì)象缺默認(rèn)構(gòu)造函數(shù),因?yàn)樵趖each 類中沒(méi)有定義默認(rèn)的構(gòu)造函數(shù)。那么帶參數(shù)的構(gòu)造函數(shù)怎么進(jìn)行構(gòu)造呢?通過(guò)我們前面提到的冒號(hào)賦值。在Student類中有兩個(gè)數(shù)據(jù)成員。

一個(gè)是常量數(shù)據(jù)成員,一個(gè)是引用數(shù)據(jù)成員,并且在構(gòu)造函數(shù)中初始化了這兩個(gè)數(shù)據(jù)成員,但是這并不能通過(guò)編譯,因?yàn)槌A砍跏蓟瘯r(shí)必須賦值,它的值是不能再改變的,與常量一樣引用初始化也需要賦值,定義了引用后,它就和引用的目標(biāo)維系在了一起,也是不能再被賦值的。  

【編輯推薦】

  1. 簡(jiǎn)介學(xué)習(xí)C++總結(jié)之談
  2. 對(duì)C++庫(kù)函數(shù)進(jìn)行學(xué)習(xí)探索總結(jié)筆記
  3. C++類庫(kù)設(shè)計(jì)的基本構(gòu)思與方法
  4. C++語(yǔ)言真的還有市場(chǎng)價(jià)值?
  5. C++類庫(kù)設(shè)計(jì)的基本構(gòu)思與方法
責(zé)任編輯:chenqingxiang 來(lái)源: ChinaUnix
相關(guān)推薦

2010-01-27 16:10:32

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

2010-02-01 11:01:30

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

2010-01-25 14:43:00

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

2010-01-20 14:35:55

C++調(diào)用

2010-01-21 14:19:44

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

2010-02-05 17:16:05

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

2009-07-31 15:44:02

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

2009-07-31 15:37:45

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

2009-08-20 14:28:00

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

2009-11-17 09:07:55

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

2011-06-14 12:27:38

C#C++

2010-01-27 17:16:52

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

2011-06-11 21:36:44

C#C++

2010-01-28 10:49:22

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

2023-11-28 11:51:01

C++函數(shù)

2009-08-13 18:02:11

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

2010-01-27 13:31:10

C++ main()函

2025-02-06 13:23:09

C++函數(shù)參數(shù)

2010-01-25 14:00:27

C++類

2010-01-27 10:13:22

C++類對(duì)象
點(diǎn)贊
收藏

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

主站蜘蛛池模板: av在线一区二区三区 | 国产区在线视频 | 欧美三级在线 | 91亚洲国产成人久久精品网站 | 羞羞视频在线免费 | 亚洲成人毛片 | 国产精品美女一区二区 | 免费看黄视频网站 | 亚洲 欧美 另类 日韩 | 久久国产欧美日韩精品 | 日本一区二区视频 | 黄视频免费 | 人人精品 | 综合久久av| www.欧美.com | 亚洲国产精久久久久久久 | 久久精品国产一区二区三区 | 久久久久久久久久久久久久国产 | 日韩成人免费视频 | 欧美高清一区 | 免费黄网站在线观看 | 免费国产视频 | 99久久久久 | 国产美女一区二区 | www.色综合| 欧美中文字幕 | 精品国产精品国产偷麻豆 | 国产69精品久久久久777 | 先锋资源在线 | 99精品视频在线观看免费播放 | 欧美福利视频 | 亚洲精品视频播放 | av免费入口 | 成人一区二区三区在线观看 | 黑人巨大精品欧美一区二区免费 | 午夜视频免费在线观看 | 久国产精品 | 久久久五月天 | 欧美日韩亚洲视频 | 久久久久久成人 | 一级片av |