使用'virtual'和'override'关键字声明重写的方法是好还是坏?



想象有以下类:

class A {
    virtual void foo();
};
class B : public A {
    virtual void foo() override;
};

我知道使用'override'可以防止多态性被破坏。但是,它是好的风格,仍然添加"虚拟"关键字的派生方法?

但是仍然添加'virtual'关键字到派生方法是好的风格吗?

在您的情况下,virtual关键字在派生类方法中是隐式的,因为它是class A隐式地向下传播到class B

如果没有明确提到'virtual'关键字,编译器可能会发出警告。

优点:给出了virtual的明确指示,在深度类层次结构中特别有用。

缺点:不干净或不清晰的外观。

最新更新