Скажем, у меня есть интерфейс, который наследуется от другого интерфейса (чисто абстрактный класс)Заполнение абстрактных членов класса, выводя из бетона класса
class BaseInterface
{};
Затем другой интерфейс основывается на BaseInterface
class ExtendedInterface : public BaseInterface
{};
сейчас , У меня есть конкретный класс, который реализует BaseInterface:
class Base : public BaseInterface
{};
Теперь, я хочу для реализации ExtendedInterface, но поскольку у меня уже есть Base, я хочу заполнить элементы BaseInterface базой. Например:
class Extended : public ExtendedInterface, public Base
{};
Это не работает. Я получаю жалобы, что я не могу создать экземпляр, поскольку он является абстрактным классом. Единственный способ заставить его работать - это использовать виртуальное наследование, но затем я получаю предупреждения о наследовании с помощью доминирования.