古詩詞大全網 - 古詩大全 - C++ 關於類指針的強制轉換問題

C++ 關於類指針的強制轉換問題

派生類是可以轉換成基類的,因為派生類本身就帶有基類的成員,所以不需要強制轉換,這也是為什麽派生類的指針和引用可以轉換為基類的指針和引用,基類的指針和引用只能訪問基類的成員,也就是向上強制類型轉換。

class Player

class GamePlayer : public Player

GamePlayer* pGamePlayer=new GamePlayer();

Player* pPlayer=pGamePlayer;

但是反之則不行,因為基類的只有自己的成員,沒有派生類的成員,所以向下強制類型轉換是不可以的。

但是GamePlayer* pGamePlayer = (GamePlayer*)pPlayer;這種方法雖然可以編譯通過,但是後期使用起來很危險,非常容易出錯1