游戏开发论坛

 找回密码
 立即注册
搜索
查看: 10694|回复: 7

c++中怎么判断父类指针实际指向的子类类型?

[复制链接]

3

主题

6

帖子

24

积分

注册会员

Rank: 2

积分
24
发表于 2010-3-14 21:55:00 | 显示全部楼层 |阅读模式
RT


比如,精灵父类。。
继承有 英雄 NPC 动态景物

我需要根据不同Y坐标决定画图的先后顺序。

用map<int,Sprite*>类型装进去后,导出的是父类指针,我需要强转。。

如何判断这个 父类指针实际指向的类型呢??
我记得java里有个方法,但是c++就不清楚了。。高手帮我下。。
typeid()?

谢谢!!!! [em21]

ps:这个问题初步已经有了替代解决方案。。父类虚函数 多态的形式,这样父类指针实际上调用的还是子类的函数。。

但是话又说回来。。c++中,到底有无判断指针所指对象,实际类型的方法呢?

等待中。。。

2

主题

683

帖子

687

积分

高级会员

Rank: 4

积分
687
发表于 2010-3-15 08:47:00 | 显示全部楼层

Re:c++中怎么判断父类指针实际指向的子类类型?

RTTI

3

主题

101

帖子

101

积分

注册会员

Rank: 2

积分
101
发表于 2010-3-15 09:10:00 | 显示全部楼层

Re:c++中怎么判断父类指针实际指向的子类类型?

强转就可以了,根本不用判断.
或用class factory,还有楼上的RTTI
因为,你不知道有多少子类继承了sprite

1

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2010-4-21 21:44:00 | 显示全部楼层

Re:c++中怎么判断父类指针实际指向的子类类型?

你可以在父类里面 加一个类型变量,根据这个类型判断是子类或是父类

1

主题

76

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2010-4-27 23:31:00 | 显示全部楼层

Re:c++中怎么判断父类指针实际指向的子类类型?

智能指针不是很好用吗?

0

主题

19

帖子

23

积分

注册会员

Rank: 2

积分
23
发表于 2011-1-24 15:17:00 | 显示全部楼层

Re:c++中怎么判断父类指针实际指向的子类类型?

运行时类型检查,楼主到谷歌上面百度一下(^ ^)。

0

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2011-4-13 17:55:00 | 显示全部楼层

Re:c++中怎么判断父类指针实际指向的子类类型?

在设计上就不应该出现必须知道子类类型才可以工作这种情况。使用虚函数在父类里完成框架就是最正统的做法。

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2011-5-7 20:15:00 | 显示全部楼层

Re:c++中怎么判断父类指针实际指向的子类类型?

typeid
dynamic_cast
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-8 06:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表