派生類到基類的轉換(c++學習筆記)

基類類型的引用或指針既可以引用基類對象,也可以引用派生類對象,但編譯器只把它當做基類類型對象。

 

代碼執行結果爲 cat0   cat0

可以看出兩個都調用了基類對象的print 函數。

 

但是派生類的引用轉換不同於轉換對象。

將派生類對象傳給基類的引用,引用直接綁定該對象對象本身未被複制。

將派生類對象傳給希望接受基類類型的對象(非引用),則派生類對象的基類部分被複制到基類形參。

 

代碼執行結果爲base1   base1

很明顯執行的是基類的print函數,但是也執行派生類的構造函數並把cat參數的值傳給了基類,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章