c++ - 使虚拟的实现也虚拟?

标签 c++ inheritance virtual

在 C++ 中实现纯虚函数时,是否有最佳实践指南指出实现也应该是虚函数?原理是什么?

class Interface
{
  public:
    virtual void foobar() = 0;
};

class Concrete
    : public Interface
{
  public:
    virtual void foobar();
};

最佳答案

没关系。

Concrete 中的

void foobar()virtual 无论您是否这样声明它,它都会覆盖 void foobar() Interface 中。

关于c++ - 使虚拟的实现也虚拟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6318721/

相关文章:

c++ - 默认定义的 move 构造函数上的 noexcept 规则是什么?

C++面试继承谜题

ios - 如何访问 iOS 中动态传递给子 viewController 的参数?

c# - 如何正确覆盖 ISupportInitialize 实现

c++ - 我们可以有一个虚拟静态方法吗? (c++)

c++ - 将 QDialog 设置为外星人

c++ - 有没有办法声明一个包含自身 unordered_set 的类?

c++ - 模板类的继承问题

C++ - 虚拟运算符 = 从派生实例调用基类?

C++/C 虚拟/可嵌入文件系统 [交叉兼容(库)]?