虚拟化的实现也是虚拟的吗?

Pau*_*nta 4 c++ virtual inheritance

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

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

class Concrete
    : public Interface
{
  public:
    virtual void foobar();
};
Run Code Online (Sandbox Code Playgroud)

Jam*_*lis 13

不要紧.

void foobar()Concretevirtual,无论您声明它本身和它覆盖void foobar()Interface.

  • 我不知道虚函数总是保持虚拟.我今天学到了一些关于C++的知识.:d (4认同)

Joh*_*ell 7

虽然virtual关键字是否存在于派生类中并不重要,但我发现它是一个不可或缺的节省时间的自我记录练习,以便始终包含它,以便任何人在两年后​​使用您的代码现在马上可以看到,班级还有更多的东西,而不是眼前的东西.