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

怎樣進行C++靜態構造函數?

開發 后端
在C++語言中進行構造函數時,如果沒有寫C++靜態構造函數,而類中包含帶有初始值設定的靜態成員,那么編譯器會自動生成默認的C++靜態構造函數。

函數是C++ 語言程序的主要組成部分,一個函數可以調用其他函數。在設計良好的程序中,每個函數都有特定的目的,也就是在創建***個實例或引用任何靜態成員之前,由.NET自動調用。

靜態構造函數是C++的一個新特性,其實好像很少用到。不過當我們想初始化一些靜態變量的時候就需要用到它了。這個構造函數是屬于類的,而不是屬于哪里實例的,就是說這個構造函數只會被執行一次。

以下是引用片段:

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

在使用C++靜態構造函數的時候應該注意幾點:

1、靜態構造函數既沒有訪問修飾符,也沒有參數。因為是.NET調用的,所以像public和private等修飾符就沒有意義了。

2、是在創建***個類實例或任何靜態成員被引用時,.NET將自動調用靜態構造函數來初始化類,也就是說我們無法直接調用靜態構造函數,也就無法控制什么時候執行靜態構造函數了。

3、一個類只能有一個靜態構造函數。

4、無參數的構造函數可以與靜態構造函數共存。盡管參數列表相同,但一個屬于類,一個屬于實例,所以不會沖突。

5、最多只運行一次。

6、靜態構造函數不可以被繼承。

7、如果沒有寫C++靜態構造函數,而類中包含帶有初始值設定的靜態成員,那么編譯器會自動生成默認的C++靜態構造函數。

現在我們來看構造函數中冒號初始化和函數初始化的問題,類構造函數的作用是創建一個類的對象時,調用它來構造這個類對象的數據成員。一要給出此數據成員分配內存空間,二是要給函數數據成員初始化,構造數據成員是按數據成員在類中聲明的順序進行構造。

冒號初始化與函數體初始化的區別在于:

冒號初始化是給數據成員分配內存空間時就進行初始化,就是說分配一個數據成員只要冒號后有此數據成員的賦值表達式(此表達式必須是括號賦值表達式)。那么分配了內存空間后在進入函數體之前給數據成員賦值。

就是說初始化這個數據成員此時函數體還未執行。 所以在C++中就增加了這種機制,這是面向對象編程所必須的。不知道我講明白沒有。如不明白請查閱有關資料。在上面的程序中通不過編譯。

編譯系統會告訴你teacher這個類對象缺默認構造函數,因為在teach 類中沒有定義默認的構造函數。那么帶參數的構造函數怎么進行構造呢?通過我們前面提到的冒號賦值。在Student類中有兩個數據成員。

一個是常量數據成員,一個是引用數據成員,并且在構造函數中初始化了這兩個數據成員,但是這并不能通過編譯,因為常量初始化時必須賦值,它的值是不能再改變的,與常量一樣引用初始化也需要賦值,定義了引用后,它就和引用的目標維系在了一起,也是不能再被賦值的。  

【編輯推薦】

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

2010-01-27 16:10:32

C++靜態構造函數

2010-02-01 11:01:30

C++靜態構造函數

2010-01-25 14:43:00

C++構造函數

2010-01-20 14:35:55

C++調用

2010-01-21 14:19:44

C++靜態成員

2010-02-05 17:16:05

C++構造函數

2009-07-31 15:44:02

C#靜態構造函數

2009-08-20 14:28:00

C#靜態構造函數

2009-07-31 15:37:45

C#靜態構造函數

2010-01-27 17:16:52

C++構造函數

2011-06-11 21:36:44

C#C++

2009-11-17 09:07:55

靜態構造函數

2011-06-14 12:27:38

C#C++

2010-01-28 10:49:22

C++構造函數

2023-11-28 11:51:01

C++函數

2009-08-13 18:02:11

C#靜態構造函數

2025-02-06 13:23:09

C++函數參數

2010-01-27 13:31:10

C++ main()函

2010-01-25 14:00:27

C++類

2010-01-27 10:13:22

C++類對象
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久成人一区二区免费影院 | 国产精品视频在线免费观看 | 一区二区三区四区电影视频在线观看 | 999观看免费高清www | 老子午夜影院 | 欧美色影院 | 日韩欧美在线免费观看 | 懂色中文一区二区三区在线视频 | 亚洲一区二区免费电影 | 国产精品精品视频一区二区三区 | 亚洲经典一区 | 久久国内| 国产精品自在线 | 久久久精品在线 | 人人做人人澡人人爽欧美 | 涩涩操 | 91在线观看网址 | 中文字幕第二区 | 久久国产区 | 亚洲精品欧洲 | 2018国产大陆天天弄 | 亚洲每日更新 | 久久久久久久久久久久久九 | 美国一级毛片a | h肉视频 | 日日夜夜天天 | 日本不卡一区 | japanhd成人 | 在线播放中文字幕 | 精品久久香蕉国产线看观看亚洲 | 91麻豆久久久 | 久久国产精品一区二区三区 | 国产精品一级在线观看 | 九七午夜剧场福利写真 | 婷婷国产一区二区三区 | 日韩中文字幕一区 | 中文字幕免费视频 | 国产精品久久久久永久免费观看 | 视频在线亚洲 | 久久久久国产精品 | 91xx在线观看 |