想象有以下类:
class A {
virtual void foo();
};
class B : public A {
virtual void foo() override;
};
我知道使用'override'可以防止多态性被破坏。但是,它是好的风格,仍然添加"虚拟"关键字的派生方法?
但是仍然添加'virtual'关键字到派生方法是好的风格吗?
在您的情况下,virtual
关键字在派生类方法中是隐式的,因为它是从class A
隐式地向下传播到class B
。
如果没有明确提到'virtual'关键字,编译器可能会发出警告。
优点:给出了virtual
的明确指示,在深度类层次结构中特别有用。
缺点:不干净或不清晰的外观。