--父子類宣告





將父類指標轉子類指標代碼注釋,子類指標轉父類指標代碼解注釋


注釋編譯出錯代碼運行結果

總結:
一:父類指標使用static_cast強轉為子類指標
1、可以訪問父類的所有成員
2、可以訪問子類的所有成員,除了子類的虛函式(子類沒有創建,沒有虛函式表,可以理解為子類沒有自己的虛函式,可以訪問父類所有的虛函式)
3、訪問子類的成員變數(未被初始化,結果不確定)
4、訪問重寫的普通成員函式,訪問的是子類的重寫普通成員函式(函式被隱藏)
二:子類指標使用static_cast強轉為父類指標(即為父類指標指向子類,實作多型)
1、可以訪問父類所有成員
2、不可以訪問子類的獨有的成員,否則會編譯出錯
3、訪問重寫的普通成員變數,訪問的是父類的重寫普通成員變數
4、訪問重寫的虛成員函式,訪問的是子類的虛成員函式(多型)
5、可以訪問父類的未被重寫的虛成員函式,不可以訪問子類未被重寫的虛函式(此時父類虛表中不存在子類自己的虛成員函式,但是其被子類重寫的虛函式地址已經被改為子類的虛函式地址)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/319857.html
標籤:其他
