1.呼叫父類無參建構函式是預設的!
子類的構造方法預設都去訪問了父類的無參構造方法:在子類中的構造方法後都有一行預設語句 base()12
3456
78910
1112
1314
15class
fu
}
class
zi : fu
}
zi z =
new
zi();
先執行父類的建構函式把父類初始化完成,再初始化子類的。
2.如何訪問父類的有參建構函式?
可以通過super(引數)去訪問父類中的有參建構函式。可以通過this(引數...)去訪問本類中的其他建構函式。12
3456
78910
1112
1314
1516
1718
class
fu
}
class
zi : fu
public
zi(
int
a):
base
(a)
}
如果定義了建構函式,則類就不會有預設的無參建構函式;如果父類中沒有預設的,則子類建構函式必須顯示呼叫父類的建構函式
子類與父類構造函式呼叫順序
子類的析構函式的呼叫順序,和子類的建構函式的呼叫順序相反!記住,相反即可。include include using namespace std classm m classn n classa a classb public a b private m m1 m m2 static n ms n ...
父類建構函式 子類建構函式
1.子類可以通過super關鍵字來顯式地呼叫父類的建構函式。2.當父類沒有提供無引數的建構函式時,子類也不可以有無參建構函式,且子類的建構函式中必須顯式的呼叫父類的建構函式 3.如果父類提供了無引數的建構函式,此時子類的建構函式就可以不顯式的呼叫父類的建構函式,預設呼叫父類的無參建構函式。4.只要父...
父類建構函式 子類建構函式
1.子類可以通過super關鍵字來顯式地呼叫父類的建構函式。2.當父類沒有提供無引數的建構函式時,子類也不可以有無參建構函式,且子類的建構函式中必須顯式的呼叫父類的建構函式 3.如果父類提供了無引數的建構函式,此時子類的建構函式就可以不顯式的呼叫父類的建構函式,預設呼叫父類的無參建構函式。4.只要父...