根据http://www.thinkbottomup.com.au/site/blog/C%20%20_Mixins_-_Reuse_through_inheritance_is_good



TaskAdapterITask实现时,为什么需要MyTask?同样,如果ITask不是抽象的,则可能导致菱形继承(钻石问题)。

最佳答案

这是非常有趣的文章。

在最后一个Mixin示例中,MyTask类是而不是从ITask派生的。这意味着它不能转换为最后完成的ITask指针。

在该示例中,我相信您可以从MyTask派生ITask。但是我认为作者想说明一下,您甚至可以使用MyTask分离TaskAdapter类。

09-27 23:49