C ++:调用多个类的相同函数

时间:2017-07-16 17:52:59

标签: c++

我正在寻找一种在多个类中调用相同函数的方法,而无需为每个类创建单独的函数。

示例:

class A{
public:
void update();
}

class B{
public:
void update();
}

现在我想创建一个既可以同时使用class A也可以class B并调用update()函数的函数。我一直在寻找堆栈溢出/谷歌的解决方案,但找不到任何东西。我在看模板,但无法找到任何有用的东西。在我的项目中,我有大约五到六个类,每个类都需要每帧调用update()函数。我使用的是公共基类,但update()函数需要位于派生类中。我在上一个项目中遇到了同样的问题,无法解决这个问题。

1 个答案:

答案 0 :(得分:2)

为什么不能在基类中定义纯虚拟更新方法? (甚至是只有这种虚方法的第二个基类/接口。)

class IUpdate
{
    public:
    virtual void update() = 0;
}

class A : public IUpdate
{
    public:
    void update();
}

B级也一样。