为什么在C++中覆盖是可选的?

non*_*haj 6 c++ overriding c++11

我理解C++覆盖的目的,但是与其他更高级别的语言相比,它的实现有点困惑,默认情况下需要使用它.

C++ 11的wiki页面将其描述为一个"技术上标识符声明符属性",但没有详细说明,为什么它不是单纯的语言关键字.

jua*_*nza 9

保持与C++ 03的向后兼容性是可选的.使其成为非可选项会破坏所有代码*.

同样,创建override关键字会破坏使用该名称的任何代码override.


好吧,不是字面上的所有代码,而是很多代码.