1
是否有可能繼承同一個類中的接口和實現mixin?就像這樣:多繼承,繼承接口和implmentation
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();
這個想法是從接口繼承的純虛函數是通過繼承組件在MyClass中實現的。這不會編譯;我需要這樣做:
class MyClass : public Interface, public Component
{
public:
void method(){Component::method();} override
};
是否有可能以某種方式避免顯式覆蓋和委派給組件,也許通過使用模板莫名其妙?