假设有以下类:
class A {
virtual void foo();
};
class B : public A {
virtual void foo() override;
};
我知道使用“覆盖”可以防止破坏多态性。但是仍然在派生方法中添加 'virtual' 关键字是一种好的风格吗?
最佳答案
But is it good style to still add the 'virtual' keyword to the derived method?
在您的情况下,virtual
关键字在派生类方法中是隐式的,因为它是隐式向下传播从 A 类
到 类B
。
如果未明确提及“virtual”关键字,编译器可能会通过警告进行投诉。
优点:明确表明是虚拟的
,在深层类层次结构中特别有用。
缺点:外观不干净。
关于c++ - 使用 'virtual' 和 'override' 关键字声明重写方法是好是坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39993136/