问题描述
|
在C ++中实现纯虚拟功能时,是否有最佳实践指南指出该实现也应该虚拟化?理由是什么?
class Interface
{
public:
virtual void foobar() = 0;
};
class Concrete
: public Interface
{
public:
virtual void foobar();
};
解决方法
不要紧。
Concrete
中的void foobar()
是virtual
,无论您是否这样声明,它都将覆盖Interface
中的void foobar()
。
, 尽管virtual
关键字是否存在于派生类中都没有关系,但我发现始终包含它是一种节省时间的自我记录练习,因此任何使用您代码的人都可以从现在起两年后,我们可以立即看到班上除了眼前的东西之外,还有更多的东西。