所以我正在构建一个机器人代码框架,但我遇到了一个问题,无法编译其中的一些内容。我有一个名为 Behavior 的类,它被扩展以创建所有行为。我在其中实现了一系列回调函数,所有行为都需要这些回调函数。但是,我不能将父类函数用作给定行为类子类的回调函数。 (仅供引用,这是 C++)。我怀疑这与我不理解的 C++ 中的函数指针有关。你们中的任何人都可以解释如何做到这一点吗?
最佳答案
你对这里的上下文有点了解,但这样的事情会有所帮助吗:
class Behaviour {
public:
void callback1() {
child_behaviour1();
}
private:
virtual void child_behaviour1() = 0;
}
然后在派生类的 child_behaviour1()
中提供必要的行为,并使用 Behaviour::*callback1
作为指针?
关于c++ - 使用父类函数作为回调订阅主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18349177/