如何在不使用typeid / RTTI的情况下确定实际对象的类型

时间:2011-05-25 10:31:41

标签: inheritance

我有一个课堂教学,其中儿童班来自父母..

在一个地方,我需要将任何类型的对象存储(排队)到列表中,列出[Parent *],然后从该列表中检索对象。存储时,我存储指针,指向最顶层的父类。检索时,我需要了解它实际上是哪个子对象,才能通过向下转换正确使用它。

直接的方法可能是使用dynamic_cast并检查它是否返回0。但是,我知道(如果我没错),这意味着使用RTTI。

如果不使用RTTI,您将如何实现这一目标?在父类中插入mType字段,并让任何子类为此字段分配特定的类型信息,然后在需要时检查其值(以查看类型)?但这似乎是一种繁琐的方法,不是吗?

非常感谢任何帮助。

问候。

0 个答案:

没有答案