C 11 引入了“override”关键字,这引发了人们对其真正目的的质疑,而不仅仅是冗余。它只是用作检查基类中重写的虚拟方法,还是提供更深层次的功能?
答案在于显式意图的想法。通过使用“覆盖”,您可以明确声明您打算覆盖基类中的虚函数,从而消除出现无提示错误的可能性。例如,如果您打算使用派生类“Derived”中的签名“virtual int foo() const”重写基类“Base”中的虚拟函数,但无意中省略了“const”限定符,则代码仍然会编译没有问题。
但是,在派生类中引入“override”作为“virtual int foo() override”会触发编译器错误,提醒您注意差异并防止不正确的行为。这种机制可确保您的代码准确反映您的意图,从而提高清晰度和可靠性。
以上是为什么'override”关键字在 C 11 中不仅仅是一个冗余?的详细内容。更多信息请关注PHP中文网其他相关文章!