父類為形參,子類為實參時的注意事項
https://blog.csdn.net/weixin_45590473/article/details/108328192
當用&引用的方式進行值傳遞時,就相當將自己閹割成父類對象的樣子,即將只屬于自己的那一部分割去。然后將剩下的這一部分當作實參傳遞給函數。
我們這里要注意的是虛函數,當父類中有與子類同名的虛函數時,此時子類的成員函數會覆蓋父類中的虛成員函數。因此,閹割剩下的部分并不與原父類成員相同。虛函數的作用原理詳見“虛函數表”。
虛函數表
我們看到父類中的ShowInf()函數被聲明為virtual類型的了,那虛函數是如何作用的呢?
我個人理解:虛函數的虛字可以理解為“形同虛設”,當我們聲明父類的ShowInf()函數為虛函數同時我們在子類中也聲明一個ShowInf()函數,那么在子類中,ShowInf()函數正好可以覆蓋父類中的同名函數(形同虛設的函數)。
詳細講解請參考:https://blog.csdn.net/weixin_45590473/article/details/107296026
————————————————
版權聲明:本文為CSDN博主「肥肥胖胖是太陽」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_45590473/article/details/108328192
標簽: