gpt4 book ai didi

c++ - 如果在子类中将虚方法声明为 virtual 是否有任何区别?

转载 作者:太空宇宙 更新时间:2023-11-03 10:26:59 25 4
gpt4 key购买 nike

<分区>

我经常看到代码(例如 here ),其中覆盖也被声明为虚拟,即使该类不打算再次被子类化。例如。

class A {
virtual void foo();
}
class B : public A {
virtual void foo();
}
// there is no subclass of B (and most likely there will never be one)

以我幼稚的 C++ 初学者的想法,我发现不声明 B::foo virtual 更清楚、更明确,以防它不打算被覆盖。 IE。

class B : public A {
void foo();
}

我写的许多方法并不意味着被覆盖。另一方面,我将 virtual 理解为该方法旨在被覆盖的指示。我想这只是个人喜好问题,但我不是 100% 确定:

如果 B::foo() 被声明为 virtual 会有什么不同吗(假设 B 不会被用作基类)?

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