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

时间:2011-06-11 21:46:25

标签: c++ inheritance virtual

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

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

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

2 个答案:

答案 0 :(得分:13)

没关系。

void foobar()中的{p> Concretevirtual,无论您是否声明它,它都会覆盖void foobar()中的Interface

答案 1 :(得分:7)

虽然virtual关键字是否存在于派生类中并不重要,但我发现它是始终包括它,以便任何人在两年后​​立即使用您的代码,可以立即看到课程中的内容远远超出了眼前的内容。