作用:構造方法用來初始化類的物件,與父類的其他成員不同,它不能被子類所繼承(子類可以繼承父類所有的public成員方法和變數,但不能繼承父類的構造方法)。因此,在建立子類物件時,為了初始化從父類繼承來的資料成員,系統需要呼叫其父類的構造方法。
如果沒有顯示的建構函式,編譯器會給乙個預設的建構函式,並且該預設的建構函式僅僅是在沒有顯示宣告建構函式的情況下建立。如果指定了帶引數的建構函式,則系統不會建立預設的建構函式。
子類的建構函式內第一行都有預設的super()語句,super()表示子類在初始化時呼叫父類的空引數的建構函式來完成初始化。
如果父類中只有帶引數的建構函式,這時如果子類的建構函式由預設的super()語句,就會出現錯誤,因為父類中沒有空引數的建構函式,必須在子類的建構函式中通過this或者super(引數)指定要訪問的父類中的建構函式。
建構函式詳解
類的六個預設函式 一 建構函式的定義 一種特殊的成員函式,主要用於為物件分配空間,進行初始化。建構函式的任務是初始化類物件的資料成員,無論何時只要類的物件被建立,就會執行建構函式。eg 定義乙個date的建構函式 includeusing namespace std class date date ...
建構函式詳解
建構函式是類中的乙個特殊成員函式,它一般為公有的。在特殊的情況下它可能為私有的。此時這個類將會無法新建物件。當有乙個物件被新建時,建構函式會被自動的呼叫,這種機制能夠確保正確的初始化。在乙個空類中,建構函式是預設生成的。但如果我們寫了乙個建構函式之後,便不會再生成預設的建構函式。一般的,在建立物件的...
建構函式詳解
一 建構函式的原理 記住當使用new的時候,到底發生了什麼事情,在使用new操作符來呼叫乙個建構函式的時候,發生了什麼呢?其實很簡單,就發生了四件事 第一行,建立乙個空物件obj。第二行,將這個空物件的 proto 成員指向了建構函式物件的prototype成員物件,這是最關鍵的一步,具體細節將在下...