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關鍵...