dynamic_cast是C++ 一種類型轉換運算符,會查抄類型的轉換是否正當,在類條理布局中進行標的目的上轉換,而不許可其他轉換。是以,如許的轉換是平安的,下面將會教你如何利用dynamic_cast以及其注重事項!
起首實現一個基類CBase, 然后界說printf函數,該函數必需是虛函數,即加上關頭字virtual
接實在現一個子類CDervied,擔當CBase類, 同樣界說函數printf
完當作上面根基代碼的實現之后,本家兒函數插手如下所示的代碼段進行測試
點擊運行調試,動態轉換的指針變量的值為空,申明指標的目的基類的指針無法轉換為指標的目的子類
改變本家兒函數的測試代碼為下圖所示,界說基類指針而且指標的目的子類對象,然后動態轉換為子類指針
點擊運行調試,從成果可以看出,指標的目的子類的基類指針可以或許動態轉換為指標的目的子類的指針
再次改變本家兒函數的測試代碼,指標的目的子類對象的基類的引用動態轉換為子類的引用
點擊運行調試,從成果可以看出,指標的目的子類對象的基類引用可以轉換為指標的目的子類的引用
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!