gpt4 book ai didi

影响 "HAS-A Parent"的 C++ 状态机

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:02:12 25 4
gpt4 key购买 nike

我正在尝试实现一个状态机。状态机必须对“拥有”它作为成员的对象产生影响。

但是,我显然不能在“Game”类中包含“StateMachine”并在“StateMachine”类中包含“Game” header 。

我该如何解决这个问题?

最佳答案

由于您的客户类是成员而不是继承女儿,您无法访问父类的任何私有(private)状态(我相信您知道),因此您的选择数量有限:

  • 公开公开父级中的某些状态并进行欺骗(但这是糟糕的设计,应该避免)
  • 为 parent 提供某种公共(public)通知界面并使用它(比上面的更好,但仍然不是很好)
  • 将回调传递给客户端(一种非常 C 程序员类型的解决方案)
  • 使用某种信号/槽机制来通知 parent 发生了一些有趣的事情。如果您正在使用任何大型框架(Qt 等...),这可能已经可用

关于影响 "HAS-A Parent"的 C++ 状态机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3129015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com