小编Reg*_*ion的帖子

如何覆盖多继承中具有相同名称的基类的虚函数?

假设我有两个基类B1B2,以及一类D使得来自两个B1和B2导出如下:

class B1 {
public:
  // ...
  virtual void foo() final { cout << "Hello, B1\n"; }
};

class B2 {
public:
  // ...
  virtual void foo() { cout << "Good riddance, B2!\n"; }
};

class D :public B1, public B2 {
  // ...
};
Run Code Online (Sandbox Code Playgroud)

在设计类时D,我想覆盖foo()从B2 调用的成员函数; 然而,foo()在B1中标记final并阻止我foo()在B2中覆盖.foo()从B2 覆盖的最佳方法是什么?

c++ multiple-inheritance

5
推荐指数
1
解决办法
489
查看次数

标签 统计

c++ ×1

multiple-inheritance ×1