您的位置:首页 > 编程语言 > C语言/C++

C++对象的静态类型与动态类型

2015-08-10 19:16 295 查看
由于继承导致对象的指针和引用具有两种不同的类型:
静态类型
动态类型


静态类型
:指针或者是引用声明时的类型。

动态类型
:由他实际指向的类型确定。

例如:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: