gpt4 book ai didi

c++ - 重新定义和覆盖函数之间的区别

转载 作者:IT老高 更新时间:2023-10-28 12:52:52 26 4
gpt4 key购买 nike

假设我有一个带有虚函数 F() 的类 A:

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
};
};

BC类中的F()有什么区别?

最佳答案

两者都是覆盖。

当您使用关键字 override 时,如果它应该发生 not 是一个覆盖,则可以确保编译失败。

这是个好习惯。

关于c++ - 重新定义和覆盖函数之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35506846/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com