为特定虚拟方法添加更多参数

时间:2016-04-02 04:23:59

标签: c++ class vector override abstract

您好我有一个从基类派生的类集合。 所有的类都使用我设置为这样的虚拟空的方法。

virtual void do_method(cPlayer&, cPlayer&) = 0;

但对于一个特定类,我想对该类使用相同的do_method,但我希望它有一个另一个参数,例如指针向量。

virtual void do_method(cPlayer&, cPlayer&, vector<cBase*>);

有没有办法在没有覆盖功能的情况下执行此操作,因为我没有使用最新版本的C ++,这是我在研究时遇到的。

1 个答案:

答案 0 :(得分:0)

您可能希望通过更改后的虚拟函数调用,例如:

void do_method(cPlayer& p1, vector<cBase*>& v) {
    for (auto p: v)
         do_method(p1, *p);
}