調用基類構造函數 C 派生類的構造函數定義?
C 派生類的構造函數定義?是的,構造函數不是可調用函數。它只用于其類的對象。它在創(chuàng)建時用于成員初始化,所以它只服務于這個類的對象。如果基類的構造函數是無參數的(默認構造函數),則不需要定義派生類。但
C 派生類的構造函數定義?
是的,構造函數不是可調用函數。它只用于其類的對象。它在創(chuàng)建時用于成員初始化,所以它只服務于這個類的對象。如果基類的構造函數是無參數的(默認構造函數),則不需要定義派生類。但是,如果基類的構造函數有參數,并且在定義時無法確定派生類,即參數來自應用環(huán)境,則派生類需要編寫相應的參數構造函數,并將參數傳遞給基類的初始化;如果基類的構造函數中的參數可以由派生類確定,那么常量將在派生類的非參數構造函數中定義,并傳遞給基類初始化。例如,
c 中為什么基類中只有帶參數的構造函數時,派生類中一定要顯示定義構造函數,并寫出基類的構造函數及參數?
因為在創(chuàng)建派生類對象時會調用基類的構造函數,所以在基類未定義構造函數時會調用默認的無參數構造函數。
僅定義參數化構造函數時調用參數化構造函數,因此當派生類未將參數傳遞給基類時會發(fā)生錯誤。解決方案:可以在基類中重載非參數構造函數,或者為參數構造函數的參數設置默認值。