如何在std :: function中存储虚拟成员函数?

索菲亚
class foo
{
public:
    foo(void)
    {
        this->f = std::bind(&foo::doSomething, this);
    }

private:
    virtual void doSomething(void) { }

private:
    std::function<void(void)> f;
}

class bar : public foo
{
public:
    bar(void) { /* I have no idea what I have to */ }

private:
    virtual void doSomething(void) override { }
}

我想将覆盖的'doSomething'函数分配给'foo :: f'。但我不知道如何分配重写的“ doSomething”功能。还是我只写一些代码为每个类分配“ doSomething”功能?

class foo
{
public:
    foo(void)
    {
        this->f = std::bind(&foo::doSomething, this);
    }

private:
    virtual void doSomething(void) { }

private:
    std::function<void(void)> f;
}

class bar : public foo
{
public:
    bar(void) 
    {  
        this->f = std::bind(&bar::doSomething, this);
    }

private:
    virtual void doSomething(void) override { }
}

该代码是我对问题的回答。但我想我可以将虚拟函数自动分配到std :: function中。

弱于Enuma Elish
this->f = std::bind(&foo::doSomething, this);

这样很好。通过指针或引用传递对象将允许它调用正确的虚函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在std :: function中存储std :: sqrt

来自分类Dev

GCC如何在内存中存储成员函数?

来自分类Dev

虚拟重载与`std :: function`成员?

来自分类Dev

如何获取存储在std :: function中的c样式函数的地址?

来自分类Dev

如何在不使用std :: function创建类实例的情况下使用成员函数?

来自分类Dev

如何在C ++中使用std :: function访问Functor的成员函数?

来自分类Dev

如何在模板中使用 std 函数?

来自分类Dev

如何实现静态虚拟成员函数

来自分类Dev

如何在std :: function中使用多态?

来自分类Dev

比较成员函数的std :: function

来自分类Dev

如何在std :: set中存储指向对象的指针(或引用)

来自分类Dev

如何在std :: set中存储指向对象的指针(或引用)

来自分类Dev

如何将成员函数绑定到std :: function?

来自分类Dev

如何用成员函数初始化`std :: function`?

来自分类Dev

如何将成员函数指针传递给std :: function

来自分类Dev

std :: function如何使指向成员函数的指针起作用?

来自分类Dev

如何使用成员函数初始化`std :: function`?

来自分类Dev

如何将成员函数绑定到std :: function?

来自分类Dev

如何在C ++中跨成员函数访问成员变量

来自分类Dev

如何在向量中删除std :: function <void()>?

来自分类Dev

如何在成员函数内将函数及其参数传递给 std::async

来自分类Dev

如何在 C++ 中访问 std::list 中的 std::function

来自分类Dev

如何在JSON中存储JavaScript函数

来自分类Dev

如何在变量中存储Swift函数

来自分类Dev

如何在类属性中存储函数?

来自分类Dev

如何在递归函数中存储数组?

来自分类Dev

如何在变量中存储Swift函数

来自分类Dev

std ::成员函数上的is_function吗?

来自分类Dev

对成员函数使用std :: function

Related 相关文章

  1. 1

    如何在std :: function中存储std :: sqrt

  2. 2

    GCC如何在内存中存储成员函数?

  3. 3

    虚拟重载与`std :: function`成员?

  4. 4

    如何获取存储在std :: function中的c样式函数的地址?

  5. 5

    如何在不使用std :: function创建类实例的情况下使用成员函数?

  6. 6

    如何在C ++中使用std :: function访问Functor的成员函数?

  7. 7

    如何在模板中使用 std 函数?

  8. 8

    如何实现静态虚拟成员函数

  9. 9

    如何在std :: function中使用多态?

  10. 10

    比较成员函数的std :: function

  11. 11

    如何在std :: set中存储指向对象的指针(或引用)

  12. 12

    如何在std :: set中存储指向对象的指针(或引用)

  13. 13

    如何将成员函数绑定到std :: function?

  14. 14

    如何用成员函数初始化`std :: function`?

  15. 15

    如何将成员函数指针传递给std :: function

  16. 16

    std :: function如何使指向成员函数的指针起作用?

  17. 17

    如何使用成员函数初始化`std :: function`?

  18. 18

    如何将成员函数绑定到std :: function?

  19. 19

    如何在C ++中跨成员函数访问成员变量

  20. 20

    如何在向量中删除std :: function <void()>?

  21. 21

    如何在成员函数内将函数及其参数传递给 std::async

  22. 22

    如何在 C++ 中访问 std::list 中的 std::function

  23. 23

    如何在JSON中存储JavaScript函数

  24. 24

    如何在变量中存储Swift函数

  25. 25

    如何在类属性中存储函数?

  26. 26

    如何在递归函数中存储数组?

  27. 27

    如何在变量中存储Swift函数

  28. 28

    std ::成员函数上的is_function吗?

  29. 29

    对成员函数使用std :: function

热门标签

归档