c 建構函式的一點見解

2021-06-19 14:45:29 字數 566 閱讀 9909

讀書讀到 建構函式這一部分,想到了些有趣的東西,寫下來以給大家分享

建構函式是乙個類初始化時呼叫的無返回值的特殊同名方法,當乙個類從另乙個類繼承 ,派生類的初始化過程其實就是向上不斷呼叫基類的建構函式這也是 .net類庫的乙個重要特性,通過初始化乙個派生類 來完成一整個類庫的初始化,書上提到派生類預設的建構函式隱式的呼叫基類的建構函式 語法如下

class b :a

public b():base{}

如果a中有乙個 帶引數的建構函式 那麼派生類如何呼叫呢?語法如下

public b (string str):base(str){}

通過建構函式的引數變數傳遞給基類 完成呼叫 那問題就出來了 ,如果我要用乙個無參或者引數和基類不同的派生類的建構函式來呼叫基類指定的建構函式 該如何呢?書上沒有,不過我們觸類旁通 舉一反三即可 語法如下

通過在 b類中宣告 靜態的字段或者屬性 static string str;然後再建構函式中呼叫靜態欄位賦給基類的引數列表語法如下

public b():base(b.str){}

這樣 就可以靈活的指定基類的建構函式了,技術的樂趣可不就是在這裡?

this的一點見解

執行環境 execution context,有時也成為上下文,有時也稱為 環境 執行環境定義了變數和函式有權訪問那些資料,決定各自的行為。全域性執行環境是最外圍的執行環境。全域性執行環境一直都存在。宿主環境不同執行環境也不同。每乙個環境都有乙個執行環境。當執行流進入乙個函式時,函式的環境就會被推入...

THIS MODULE的一點見解

include module license gpl static int init hellow init void static void exit hellow exit void module init hellow init module exit hellow exit 在我們執行ins...

C 預設建構函式的一點說明

大多數c 書籍都說在我們沒有自己定義建構函式的時候,編譯器會自動生成預設建構函式。其實這句話我一直也是 深信不疑。但是最近看了一些資料讓我有了一點新的認識。其實我覺得大多數c 書籍之所以這樣描述其實是玩了文字遊戲的。如果說編譯器 自動產生的預設建構函式對於我們 的類沒有任 何作用,也就是說在編譯器預...