C++對象的靜態類型與動態類型

由於繼承導致對象的指針和引用具有兩種不同的類型: 靜態類型 動態類型

靜態類型 :指針或者是引用聲明時的類型。

動態類型 :由他實際指向的類型確定。

例如:

GameObject *pgo=   //pgo靜態類型是 GameObject *

new SpaceShip; //動態類型是 SpaceShip*

Asterioid *pa = new Asterioid; //pa的靜態類型是 Asterioid *

//動態類型也是 Asterioid *

pgo = pa; //pgo靜態類型總指向 GameObject *

//動態類型指向了 Asterioid *

GameObject &rgo = *pa; //rgo的靜態類型是 GameObject

//動態類型是 Asterioid

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章