我有一个基类 Base
有很多纯虚方法,我想定义一些 class Foo: public Base
和类似的形式的类class Bar
、class Baz
等 - 所有这些都应该是非虚拟的,并且所有这些都在 .cpp 文件中实现它们的虚拟方法,而不是在类定义中内联。目前,在这些类的每一个定义中,我都声明了 void method1() override
、void method2() override
等等广告令人作呕 - 我必须复制粘贴这个东西和我继承 class Base
的次数一样多。
是否有另一种更简洁的说法“此类重写了所有必要的非抽象方法”?
注意事项:
- 我知道我可以做一些基于宏观的拼凑,我不是那个意思。
- 基于 C++ 反射库的解决方案不是可取的,但可能是可以接受的。
- 如果有帮助,您可以忽略多重继承。
最佳答案
没有。
您必须说明您希望覆盖的每个功能。
无法自动声明每个基的所有可覆盖函数。
如果这是个问题,则表明您的接口(interface)有太多成员函数。
关于c++ - 一种简洁的说法 "this class overrides all necessary methods to be non-abstract",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35386461/