【发布时间】:2011-10-10 18:54:25
【问题描述】:
有没有办法添加一个必须被所有继承类覆盖的虚函数?那么实际上是虚拟和抽象的结合吗? 我有一种情况,每个继承的类必须在执行一些通用代码之前进行一些特定的处理。虚函数不起作用,因为它们不能确保继承的类会覆盖它们。抽象函数不能有默认实现。目前我的解决方法是在包含通用/通用代码的基类中实现另一个受保护的函数,并在覆盖的抽象函数中调用
【问题讨论】:
-
如果它有一个默认实现,为什么它需要被覆盖?这不是违背目的吗?如果它总是会被覆盖,为什么不让它抽象呢?
-
当你重写函数时,就可以改变body。您不能更改方法签名。