gpt4 book ai didi

c++ - 一种简洁的说法 "this class overrides all necessary methods to be non-abstract"

转载 作者:行者123 更新时间:2023-11-30 03:44:34 26 4
gpt4 key购买 nike

我有一个基类 Base 有很多纯虚方法,我想定义一些 class Foo: public Base 和类似的形式的类class Barclass Baz 等 - 所有这些都应该是非虚拟的,并且所有这些都在 .cpp 文件中实现它们的虚拟方法,而不是在类定义中内联。目前,在这些类的每一个定义中,我都声明了 void method1() overridevoid method2() override 等等广告令人作呕 - 我必须复制粘贴这个东西和我继承 class Base 的次数一样多。

是否有另一种更简洁的说法“此类重写了所有必要的非抽象方法”?

注意事项:

  • 我知道我可以做一些基于宏观的拼凑,我不是那个意思。
  • 基于 C++ 反射库的解决方案不是可取的,但可能是可以接受的。
  • 如果有帮助,您可以忽略多重继承。

最佳答案

没有。

您必须说明您希望覆盖的每个功能。

无法自动声明每个基的所有可覆盖函数。

如果这是个问题,则表明您的接口(interface)有太多成员函数。

不要忘记 Single Responsibility Principle !

关于c++ - 一种简洁的说法 "this class overrides all necessary methods to be non-abstract",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35386461/

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