是否可以在同一个类中同时继承接口和实现 mixin?像这样的东西:
class Interface
{
public:
virtual void method()=0;
};
class Component
{
public:
void method(){ /*do something*/};
};
class MyClass : public Interface, public Component
{};
...
...
Interface* p = new MyClass(); p.method();
其思想是继承自Interface的纯虚函数在MyClass中通过其对Component的继承来实现。这不编译;我需要这样做:
class MyClass : public Interface, public Component
{
public:
void method(){Component::method();} override
};
是否有可能以某种方式避免显式覆盖和委托给组件,也许是通过某种方式使用模板?