基類類型的引用或指針既可以引用基類對象,也可以引用派生類對象,但編譯器只把它當做基類類型對象。
代碼執行結果爲 cat0 cat0
可以看出兩個都調用了基類對象的print 函數。
但是派生類的引用轉換不同於轉換對象。
將派生類對象傳給基類的引用,引用直接綁定該對象對象本身未被複制。
將派生類對象傳給希望接受基類類型的對象(非引用),則派生類對象的基類部分被複制到基類形參。
代碼執行結果爲base1 base1
很明顯執行的是基類的print函數,但是也執行派生類的構造函數並把cat參數的值傳給了基類,