我正在寻找一种在多个类中调用相同函数的方法,而无需为每个类创建单独的函数。
示例:
class A{
public:
void update();
}
class B{
public:
void update();
}
现在我想创建一个既可以同时使用class A
也可以class B
并调用update()
函数的函数。我一直在寻找堆栈溢出/谷歌的解决方案,但找不到任何东西。我在看模板,但无法找到任何有用的东西。在我的项目中,我有大约五到六个类,每个类都需要每帧调用update()
函数。我使用的是公共基类,但update()
函数需要位于派生类中。我在上一个项目中遇到了同样的问题,无法解决这个问题。
答案 0 :(得分:2)
为什么不能在基类中定义纯虚拟更新方法? (甚至是只有这种虚方法的第二个基类/接口。)
class IUpdate
{
public:
virtual void update() = 0;
}
class A : public IUpdate
{
public:
void update();
}
B级也一样。