我知道引入
override
语境关键字是为了编写更安全的代码(通过检查具有相同签名的 virtual
函数),但我对此不感到满意,因为每次想要重写 virtual
函数时都写 override 似乎对我来说是多余的。
对于99%的情况不使用 override
语境关键字是否是一种不好的做法? 为什么/何时应该使用它(当我们错误地隐藏虚函数时,编译器警告并不足够)?
编辑:换句话说,在C++11中使用 override
语境关键字的优点是什么,而在C++03中,如果我们错误地隐藏虚函数而没有使用 override
语境关键字,则始终会收到编译器警告?