例如,假设我有这个课程:
class base{
public:
update();
};
我有很多继承自这个的类:
class A : public base
{
//<...>
}
class B : public base
{
//<...>
}
所以我想知道 - 我可以以某种方式在所有类中调用函数base::update();
而无需全部编写(A::update(); B::update();
)等。
就像调用一个函数一样,它会在从基类继承它的所有类中执行update();
。
谢谢!
编辑: 我正在做的是将我的实体系统改为基于组件的系统,我想知道是否有更简单的方法来调用(比方说)update();在所有成员中继承的函数。而不是做enemy01.update(); enemy02.update();等,只写下一个更新();它适用于所有拥有它的类(继承它),类似于向所有类调用该函数的消息。
答案 0 :(得分:2)
A virtual function
?
class base{
public:
virtual void update();
};
然后这个功能:
void update_class(base &b) {
return b.update();
}
您可以在任何继承update_class
。
base