父類
class base
public
void
printmessage()
}
子類
class
subextends
base
public
void printmessage()
}
主程式
public
class helloworld
}
結果為:
子類的構造方法中的方法sub
.x=0
父類的構造方法10
子類的構造方法中的方法sub
.x=30
子類的構造方法30
子類的構造方法中的方法sub
.x=40
20
首先1.new sub()時,先實現父類的構造方法,(這裡子類在繼承父類時,重寫了父類方法)所以執行父類構造方法中的列印方法時被替換成了重寫後的方法。
2 .然後父類中的this指的是子類這個物件,還未對x進行賦值,所以列印出來預設為0。
3.然後執行子類sub,先賦值,再執行構造方法,列印出為30.
4.關鍵的一步來了,例項化後的物件並沒有給子類sub而是給了父類base,也就是說例項化的子類又賦給了父類,所以要執行父類的構造方法,x被賦值為20.
筆試 c 筆試題
1 在派生類中通過 base 呼叫基類成員 解析 2 方法重寫使用關鍵字 override 解析 使用virtual和override關鍵字實現方法重寫 3 關於抽象類下面說法錯誤的是 選一項 a 抽象類可以包含非抽象方法 b 含有抽象方法的類一定是抽象類 c 抽象類不能被例項化 d 抽象類可以是密...
C 繼承多型筆試面試題實戰分析
目錄 例題一 例題二 例題三 例題四例題五 include includeusing namespace std class animal virtual void bark 0 protected string name class cat public animal void bark clas...
筆試題 2020華為筆試
i j k p,0測試用例 120,3 12,1 題目描述 乙個矩陣,5 5,取相鄰 二個成員有乙個邊是相同的 的6個,輸入乙個6個成員列表,判斷是否滿足?矩陣成員如下 1,2,3,4,5 11,12,13,14,15 21,22,23,24,25 31,32,33,34,35 41,42,43,4...