構造方法用來初始化類的物件,與父類的其它成員不同,它不能被子類繼承(子類可以繼承父類所有的成員變數和成員方法,但不繼承父類的構造方法)。因此,在建立子類物件時,為了初始化從父類繼承來的資料成員,系統需要呼叫其父類的構造方法。
如果沒有顯式的建構函式,編譯器會給乙個預設的建構函式,並且該預設的建構函式僅僅在沒有顯式地宣告建構函式情況下建立。
構造原則如下: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if
(子類沒有自定義建構函式){
if
(基類沒有自定義建構函式){
用子類定義物件時,先自動呼叫基類的預設建構函式,再調子類的預設建構函式。
}
else
if
(基類有自定義無參建構函式){
用子類定義物件時,先自動呼叫基類的自定義無參建構函式,再調子類的預設建構函式。
}
else
};
class
fish:
public
animal
};
int
main()
在fish類的建構函式後,加乙個冒號(:),然後加上父類的帶引數的建構函式。這樣,在子類的建構函式被呼叫時,系統就會去呼叫父類的帶引數的建構函式去構造物件。
子類繼承和呼叫父類的構造方法
1.如果子類沒有定義構造方法,則呼叫父類的無引數的構造方法,2.如果子類定義了構造方法,不論是無引數還是帶引數,在建立子類的物件的時候,首先執行父類無引數的構造方法,然後執行自己的構造方法。3.如果子類呼叫父類帶引數的構造方法,可以通過super 引數 呼叫所需要的父類的構造方法,切該語句做為子類構...
子類繼承和呼叫父類的構造方法
1.如果子類沒有定義構造方法,則呼叫父類的無引數的構造方法,2.如果子類定義了構造方法,不論是無引數還是帶引數,在建立子類的物件的時候,首先執行父類無引數的構造方法,然後執行自己的構造方法。3.如果子類呼叫父類帶引數的構造方法,可以通過super 引數 呼叫所需要的父類的構造方法,切該語句做為子類構...
C 中子類繼承和呼叫父類的建構函式方法
如果沒有顯式的建構函式,編譯器會給乙個預設的建構函式,並且該預設的建構函式僅僅在沒有顯式地宣告建構函式情況下建立。構造原則如下 1.如果子類沒有定義構造方法,則呼叫父類的無引數的構造方法。2.如果子類定義了構造方法,不論是無引數還是帶引數,在建立子類的物件的時候,首先執行父類無引數的構造方法,然後執...