關於子類呼叫基類的建構函式的各種問題

2021-07-11 10:53:23 字數 511 閱讀 2092

基類寫了預設的建構函式,子類未明確呼叫 :(√) :這個情況,子類就可以預設呼叫到預設的建構函式

基類寫了的預設建構函式,子類明確呼叫 :(√) :這個情況,子類就可以預設呼叫到預設的建構函式

基類沒有寫預設的建構函式,子類明確呼叫 : (√) : 這個情況,系統會給基類生成乙個預設的建構函式,這樣,子類就可以預設呼叫

基類沒有寫預設的建構函式,子類未明確呼叫 : (√):這個情況,系統會給基類生成乙個預設的建構函式,這樣,子類就可以預設呼叫

基類寫了乙個帶引數的建構函式,沒有寫預設的建構函式,子類沒有明確呼叫基類的建構函式:(×),這樣子的話,因為寫了建構函式,那麼編譯器就不再生成建構函式了,這樣,當子類想去呼叫基類的預設建構函式的時候,就找不到了。

基類寫了乙個帶引數的建構函式,也寫預設的建構函式,子類沒有明確呼叫基類的建構函式:(√),因為還是有預設的建構函式,所以,子類還是可以呼叫到這個預設的建構函式。

也就是說,不管怎麼樣,如果子類沒有顯式呼叫基類的建構函式,那麼就一定要保證基類裡面有預設的建構函式。

關於派生類建構函式與基類建構函式的呼叫順序問題

下面是實驗論證 程式7.3.1 程式 sequence.cpp 功能 演示繼承關係中基類與派生類的建構函式與析構函式的呼叫次序。include class base 析構函式 base class derived public base 析構函式 derived derived obj 宣告乙個派生...

關於派生類建構函式與基類建構函式的呼叫順序問題

程式7.3.1 程式 sequence.cpp 功能 演示繼承關係中基類與派生類的建構函式與析構函式的呼叫次序。include class base 析構函式 base class derived public base 析構函式 derived derived obj 宣告乙個派生類的物件 int...

關於子類呼叫父類構造方法的問題

昨天班級有乙個小測驗,結果自己覺得還不錯的錯了好幾道題,自己總結了一下,主要是子類繼承父類時候構造方法的問題不太清楚,今天就總結一下。1.子類會預設呼叫父類的無參構造方法 舉例來看 public class derived extends base public static void main s...