我正在寻找一种方法来在多个类中调用相同的函数,而不必为每个类创建单独的函数。
例子:
class A{
public:
void update();
}
class B{
public:
void update();
}
现在我想创建一个函数,它可以接受 class A
或 class B
并调用 update()
函数。我一直在寻找关于堆栈溢出/谷歌的解决方案,但找不到任何东西。我正在查看模板,但找不到任何有用的东西。在我的项目中,我有大约五六个类,每个类都有一个需要在每一帧调用的 update()
函数。我使用的是公共(public)基类,但 update()
函数需要位于派生类中。我在上一个项目中遇到了同样的问题,但无法弄清楚。
最佳答案
为什么不能在基类中定义一个纯虚更新方法? (或者甚至是只有这个虚方法的第二个基类/接口(interface)。)
class IUpdate
{
public:
virtual void update() = 0;
}
class A : public IUpdate
{
public:
void update();
}
B类也一样。
关于C++:调用多个类的相同函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45131716/