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

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