假设我有A
一个带有虚函数的类F()
:
class A
{
virtual void F()
{
// Do something
};
};
我还有另一个B
继承A
和重新定义的 类F()
:
class B : A
{
void F()
{
// Do something
};
};
而另一个类C
也继承A
但覆盖 F()
:
class C : A
{
void F() override
{
// Do something
};
};
和F()
类之间有什么区别?B
C
双方B::f()
并C::f()
都覆盖和他们正好相同。
override
本质上是一个编译时咨询术语,如果该函数未在基类中重写该函数,则将导致编译错误。
这可以提高程序的稳定性:如果A::f()
更改了名称和参数类型,则会导致编译错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句