c++ - 使用父类函数作为回调订阅主题

标签 c++ function pointers ros

所以我正在构建一个机器人代码框架,但我遇到了一个问题,无法编译其中的一些内容。我有一个名为 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/

相关文章:

javascript - 如何在 jQuery 对象上创建 catch all 函数?

javascript - 在 Parse.com 中使用指针检索数据

c++ - 由于类型不匹配,无法将一个指针分配给另一个指针,或者编译器这样说

c# - 使用 Cocos2dx 从 C++ 为 WP8 调用 C# 函数(例如 : Facebook sdk)

c++ - 前向声明的缺点是什么?

C++:字符串函数

python - 如何删除包含不同顺序元素的重复列表?

如果对象存在于全局中,则 R 从函数中从全局环境中获取对象,否则使用不同的默认值

c++ - C++ 中的 STL 列表指针

c++ - 令人困惑的继承示例。构造函数被重写,但函数没有。为什么?