我正在尝试设计一些不依赖于铸造的东西。我在这里问了一个问题,我相信最终会有更好的方法,所以我正在寻求建议。
我有一个泛型Object
,其中会有子类。
我有通用Node
对象,其中包含一个指向Object
. Node
可以对 s 进行子类化以提供有关如何处理它们的更具体的行为Object
以及设置Object
该特定节点正在使用的子类类型。
问题是我的基类需要作为成员Object * myObject
,以便我的应用程序可以遍历所有Node
s 并在所有 s 上调用draw
函数myObject
。
但是如何处理子类Node在子类Object上调用自定义函数的情况呢?这些函数可能是真正独一无二的,并且在基类中没有位置。
我考虑的一个选项是子类将其指针成员存储为MyObjectSubclass * myObject
但子类不能覆盖基类成员,对吗?所以这真的行不通。
对于这种类型的设计,我将不胜感激。