我需要声明一个包含函数指针列表的“事物”,并且需要以两种方式访问它们:
直接调用
function.myStructVar.attr1
循环通过它们,因为它是
vector.myStructVar.vec[1]
因此,我想:“struct + union 是我的解决方案”我将声明一个包含我想要的变量的结构,然后声明一个与该结构和一个函数指针向量的联合。
但事情变得更加复杂了。现在,我想将指向函数的指针与指向函数的指针容器混合在一起,而不是只有指向函数的指针。(我知道,这很奇怪,我不太清楚:S)
恢复:我想要一组(指向函数的指针和指向函数的指针分组)。而且我希望能够以一种我不需要知道它们的结构的方式访问它们。
可能吗?如何?
最终目标:我想要这样的对象:
对象A:
-Eat Apple
-Eat Bannana
--DoDigestion(this is a:
-->DigestApple
-->DigestBannana
-->AddAcid
)
对象B:
-Eat Potato
-Eat Bannana
--DoDigestion(this is a:
-->DigestBannana
-->AddWater
)
最后,这个想法是定义某种将要做什么的规范,并将其发送到将要执行的函数:
执行人:
void execute(Object):
foreach(Action a in Object) do(a);
foreach(GroupOfAction g in Object) execute(g);