在C ++中实现纯虚函数时,是否有最佳实践指南说明实现也应该是虚拟的?理由是什么?
class Interface
{
public:
virtual void foobar() = 0;
};
class Concrete
: public Interface
{
public:
virtual void foobar();
};
答案 0 :(得分:13)
没关系。
void foobar()
中的{p> Concrete
为virtual
,无论您是否声明它,它都会覆盖void foobar()
中的Interface
。
答案 1 :(得分:7)
虽然virtual
关键字是否存在于派生类中并不重要,但我发现它是始终包括它,以便任何人在两年后立即使用您的代码,可以立即看到课程中的内容远远超出了眼前的内容。