【发布时间】:2012-08-16 14:34:50
【问题描述】:
我目前正在开发一个用 c++ 编写的基于组件的游戏引擎。所有组件都继承自组件基类。场景中的所有组件都被向上转换为组件的向量,它们可以被迭代和Update() 并且可以被调用。
我正在尝试为组件设计一个通信系统。如果我有一个名为 GetComponent<Type>() 的函数,就像 Unity 一样,我将能够从它被向上转换之前的状态返回一个组件。
所以基本上我有一个向上转换的组件,我想反转它,使它成为它的原始类,然后通过函数返回它(就像它以前的类一样)。这可能吗?如果可能,组件如何知道它曾经是什么类?
有没有可以借鉴的例子?
【问题讨论】:
-
这对于组件向量是不可能的。使用 *Components 或 shared_ptr
. 的向量 -
抱歉忘了说它是一个指针向量
标签: c++ components polymorphism upcasting