C 繼承中的建構函式問題

2021-09-09 06:25:54 字數 504 閱讀 7389

c#的繼承是不會整合建構函式的,但是子類在實現建構函式時會預設呼叫父類中的無參建構函式

想要不呼叫就要在子類中進行一些特殊操作

class program

}class person

//public person() //子類需要呼叫父類的無參建構函式

//public string name

public int age

public string ***

}class teacher : person

//子類建構函式在呼叫時會預設呼叫父類中的無參構造,如果不想呼叫可以使用這種方法

public teacher(string name, int age, string ***, double tsalary) : base(name, age, ***) //子類的建構函式在初始化之前會預設呼叫父類中的無參建構函式

public double tsalary

}

C 建構函式的繼承問題

一 基類沒有定義建構函式的情況 1 派生類也可以不定義建構函式,全部採用預設的建構函式,此時,派生類新增成員的初始化工作可以用其他公有函式來完成。2 如果只有派生類定義建構函式,只需要構造派生類物件即可,物件的基類部分使用預設建構函式來自動建立 二 基類中存在建構函式 1 基類中存在不帶引數的建構函...

C 中繼承中遇到的建構函式問題

今天在開發時遇到了乙個之前一直以為理所當然的建構函式問題。先給總結 子類在構造時,如果沒有顯式呼叫父類的建構函式,會先呼叫父類的預設建構函式 無引數的 下面給出不同情況的例子 例子一 父類有預設的建構函式,子類的建構函式隨便 include class base class derive publi...

c 基礎 繼承 12 繼承中的建構函式

特點 在子類物件例項化時,缺省會先呼叫父類的建構函式,一直往上找父親。從老祖宗開始執行,一代一代往下。例子 class gameobject class animal gameobject class tree animal class person 截圖 父類中的無參建構函式 所以通過base關鍵...