原文:基類與派生類,父類指針指向子類對象

先看一段代碼: 運行結果如下,情理之中,意料之內: C 創建對象的時候先創建基類部分,然后創建派生部分。析構的時候要反過來了,先釋放子類部分,然后在釋放父類部分。但是這里只釋放了父類部分,沒有釋放派生類的部分。為什么呢 原因很明確:因為之類pB是基類指針,雖然指向的是派生類,只能調用自己的函數,我們是無法通過基類指針調用到子類的成員函數的 除非采用virtual,也就是遲綁定技術 。 虛函數 為了 ...

2018-03-08 23:05 1 3611 推薦指數:

查看詳情

基類指針指向派生類對象

派生類對象也“是”基類對象,但兩者不同。 派生類對象可以當做基類對象,這是因為派生類包含基類的所有成員。 但是基類對象無法被當做成派生類對象,因為派生類可能具有只有派生類才有的成員。 所以,將派生類指針指向基類對象的時候要進行顯示的強制轉換,否則會使基類對象中的派生類成員成為未定義 ...

Tue Mar 18 19:19:00 CST 2014 0 6266
基類指針指向派生類對象&派生類指針指向基類對象

靜態綁定 如果以一個基礎指針指向一個衍生對象(派生類對象),那么經由該指針只能訪問基礎定義的函數 如果以一個衍生指針指向一個基礎對象,必須先做強制轉型動作(explicit cast),這種做法很危險,也不符合生活習慣,在程序設計上也會給程序員帶來困擾。 如果基礎和衍生 ...

Tue Jul 07 03:13:00 CST 2020 0 1494
派生類基類 指針指向

https://juejin.im/post/6844904054930292749 派生類基類的關系並不是兩個獨立的類型,在派生關系中, 派生類型“是一個”基類類型(Derived class is a base class)。在C++語法里規定:基類指針可以指向一個派生類對象 ...

Tue Sep 29 07:20:00 CST 2020 0 745
基類指針派生類指針

1 基類指針指向基類對象(正常使用) 2 派生類指針指向派生類對象(正常使用,不管是不是虛函數,調用的都是派生類的函數) 3 基類指針指向派生類對象(多態的體現,虛函數的話調用的是派生類的,非虛函數的話調用的是基類的) 指針不能使用只存在於派生類而不存在於基類中的元素,也就是指向的是派生類中 ...

Tue Mar 27 02:11:00 CST 2018 0 1333
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM