使用'virtual'和'override'关键字声明重写的方法是好还是坏?
Is it good or bad style declaring an overridden method with 'virtual' and 'override' keywords?
想象有以下类:
class A {
virtual void foo();
};
class B : public A {
virtual void foo() override;
};
我知道使用'override'可以防止多态性被破坏。但是,它是好的风格,仍然添加"虚拟"关键字的派生方法?
但是仍然添加'virtual'关键字到派生方法是好的风格吗?
在您的情况下,virtual
关键字在派生类方法中是隐式的,因为它是从class A
隐式地向下传播到class B
。
如果没有明确提到'virtual'关键字,编译器可能会发出警告。
优点:给出了virtual
的明确指示,在深度类层次结构中特别有用。
缺点:不干净或不清晰的外观。
相关文章:
- 将子类方法声明为基类的友元
- 模板中的模板方法 - 实例声明和类方法声明签名不同
- C++ C# 中的方法声明
- 使用gtest将所有方法声明为virtual以进行mocking
- 方法声明 c++ 后的引用符号
- 标题C 中的静态类方法声明
- 接口定义中的方法声明
- 如何在没有显式方法声明的情况下返回值
- C 类方法声明返回错误
- C++ dll 导入 VBA(Excel) 与方法声明"_Something"
- 查找没有定义的方法声明
- 只要调用的函数是用constexpr指定的,就将委托方法声明为constexpr
- mat类opencv中的begin()方法声明
- C++受模板方法声明影响的名称查找
- 我可以在Visual Studio 2012中将方法声明为朋友吗?
- 类中方法声明的顺序是否对编译器很重要
- 静态方法声明但未定义错误c++
- 错误:在类方法声明中无效地使用void表达式
- 奇怪的c++语法方法声明
- 类方法声明中的 decltype:在声明成员之前使用时出错"referenced"