重新定义和覆盖功能之间的区别

卡尼瓦龙

假设我有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()之间有什么区别BC

拔示巴

双方B::f()C::f()都覆盖和他们正好相同。

override本质上是一个编译时咨询术语,如果该函数在基类中重写该函数,则将导致编译错误

这可以提高程序的稳定性:如果A::f()更改了名称和参数类型,则会导致编译错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

javaagent中重新定义和重新转换之间的区别

来自分类Dev

重新定义self.included和passing block到included之间的区别

来自分类Dev

可变值和不可变值重新定义之间有什么区别?

来自分类Dev

Lisp重新定义功能

来自分类Dev

在C ++中重新定义与覆盖

来自分类Dev

重新定义现有功能

来自分类Dev

如何全局重新定义LUA功能

来自分类Dev

以编程方式重新定义功能

来自分类Dev

如何自行更改/重新定义功能

来自分类Dev

重新定义现有功能

来自分类Dev

如何全局重新定义LUA功能

来自分类Dev

澄清范围和重新定义

来自分类Dev

在struct和int之间的clang中重新定义不一致

来自分类Dev

重新定义功能中无法使用的打印功能

来自分类Dev

错误C2365:重新定义枚举和错误2086重新定义

来自分类Dev

Superagent“请求”对象是否被重新定义为功能?

来自分类Dev

firefox sdk:重新定义内容脚本功能

来自分类Dev

如何重新定义Powershell模块导出的功能

来自分类Dev

firefox sdk:重新定义内容脚本功能

来自分类Dev

事件和功能之间的区别?

来自分类Dev

重新定义承诺

来自分类Dev

重新定义矩阵的%in%

来自分类Dev

为什么在Chrome / IE和Firefox中重新定义功能的行为会有所不同?

来自分类Dev

功能依赖项的F +(F的闭包)和F *(F的覆盖)之间有什么区别?

来自分类Dev

重新定义__LINE__和__FILE__常量

来自分类Dev

CSS Lint,标题重新定义和分解代码

来自分类Dev

可以重新定义constexpr和内联函数吗?

来自分类Dev

使用和重新定义基类的typedef

来自分类Dev

Django - 具有 ModelForm 的属性和重新定义的字段?