Kar*_*rus 26 c++ virtual overriding virtual-functions c++11
假设我有A一个带有虚函数的类F():
class A
{
virtual void F()
{
// Do something
};
};
Run Code Online (Sandbox Code Playgroud)
我有另一个B继承A和重新定义的 类F():
class B : A
{
void F()
{
// Do something
};
};
Run Code Online (Sandbox Code Playgroud)
还有一个不同的类C,它也继承了A但是覆盖 F():
class C : A
{
void F() override
{
// Do something
};
};
Run Code Online (Sandbox Code Playgroud)
F()课程B和有C什么区别?
Bat*_*eba 24
双方B::f()并C::f()都覆盖和他们正好相同.
override本质上是一个编译时建议术语,如果该函数没有覆盖基类中的一个,将导致编译错误.
这有助于程序稳定性:如果要A::f()更改名称和参数类型,则会产生编译错误.
| 归档时间: |
|
| 查看次数: |
1745 次 |
| 最近记录: |