C++語言中的構造函數(shù)解析
在C++語言中一個函數(shù)可以調用其他函數(shù),在設計良好的C++語言中,每個函數(shù)都有特定的目的,就是說這個構造函數(shù)只會被執(zhí)行一次。也就是在創(chuàng)建***個實例或引用任何靜態(tài)成員之前,由.NET自動調用。
- class SimpleClass
- {
- // Static constructor
- static SimpleClass()
- {
- //
- }
- }
在使用靜態(tài)構造函數(shù)的時候應該注意幾點:
1、C++語言中靜態(tài)構造函數(shù)既沒有訪問修飾符,也沒有參數(shù)。因為是.NET調用的,所以像public和private等修飾符就沒有意義了。
2、是在創(chuàng)建***個類實例或任何靜態(tài)成員被引用時,.NET將自動調用靜態(tài)構造函數(shù)來初始化類,也就是說我們無法直接調用靜態(tài)構造函數(shù),也就無法控制什么時候執(zhí)行靜態(tài)構造函數(shù)了。
3、一個類只能有一個靜態(tài)構造函數(shù)。
4、無參數(shù)的構造函數(shù)可以與靜態(tài)構造函數(shù)共存。盡管參數(shù)列表相同,但一個屬于類,一個屬于實例,所以不會沖突。
5、最多只運行一次。#t#
6、靜態(tài)構造函數(shù)不可以被繼承。
7、如果沒有寫靜態(tài)構造函數(shù),而類中包含帶有初始值設定的靜態(tài)成員,那么編譯器會自動生成默認的靜態(tài)構造函數(shù)。