C 建構函式裡的base和this的區別

2022-03-12 19:59:53 字數 1094 閱讀 7610

this只是呼叫本身,但是需要呼叫一次基類無參的建構函式.

base是呼叫基類的有引數建構函式。

class

baseclass

", numa);

}public baseclass(int

i)

", numa);}}

class

childclassa : baseclass

", numb);

}public childclassa(int

i)

", numb);

}public childclassa(int i, int

j) :

base

(i)

", numb);}}

class

childclassb : baseclass

", numb);

}public childclassb(int

i)

", numb);

}public childclassb(int i, int

j) :

this

(i)

", numb);}}

class

demo

}

執行結果:

--------------------------------結果----------------------------------

使用base

基類帶乙個引數的建構函式. value:2

子類帶有兩個引數的建構函式. value:4

----------------------------------------

使用this

基類的無引數建構函式. value:0

子類帶有乙個引數的建構函式. value:2

子類帶有兩個引數的建構函式. value:4

--------------------------------結果--------------------------------

C 建構函式裡的base和this的區別

class baseclass numa public baseclass int i numa class childclassa baseclass numb public childclassa int i numb public childclassa int i,int j base i ...

C 建構函式裡的base和this的區別

class baseclass numa public baseclass int i numa class childclassa baseclass numb public childclassa int i numb public childclassa int i,int j base i ...

C 建構函式裡的base和this的區別

用法一 父類的建構函式總是在子類之前執行的。既先初始化靜態建構函式,後初始化子類建構函式。public class basecircle public basecircle double arg public class subcircle basecircle public subcircle d...