В С++ можно использовать другой базовый класс для обеспечения реализации интерфейса (т.е. абстрактного базового класса) в производном классе?
class Base
{
virtual void myfunction() {/*...*/};
}
class Interface
{
virtual void myfunction() = 0;
}
class Derived
: public Base, public Interface
{
// myfunction is implemented by base
}
Вышеприведенное должно компилироваться, но фактически не работает. Есть ли способ достичь этого эффекта?
В случае, если кто-то заботится, причиной этого является то, что имеет смысл (для моего приложения) использовать общую библиотеку из другого пространства проектов/имен, чтобы обеспечить реализацию интерфейса в моем проекте. Я мог бы просто обернуть все, но это кажется большим количеством дополнительных накладных расходов.
Спасибо.