class Base
{
public:
virtual void f() = 0;
};
在一些出版物中,我看到要覆盖这一点,一些作者会说:
void f();
有些人仍会在void之前重复虚拟关键字。哪种覆盖形式的风格很好? 谢谢你的回答。
答案 0 :(得分:14)
这纯粹是一种品味问题。关于某些样式的自我记录价值与其他样式的非冗余性,可以来回做出一些微弱的论据。
答案 1 :(得分:3)
没有必要将virtual关键字添加到您在子类中重写的方法,因为无法通过在子类声明中省略它来删除此限定符。
最好重复虚拟关键字,因为它会记录哪些派生函数在基类中是虚拟的。
这也是'High Integrity C++ Coding Standard Manual'推荐的。
链接在C++ FAQ。
答案 2 :(得分:0)
我个人使用这两种风格:virtual
表示可以覆盖该方法。
所以我们有两个案例:
virtual
关键字Template Pattern
之后的新方法),请不要使用virtual
关键字我猜这是(ab?)使用关键字的另一种方式。