Класс C ++ / CX / наследование интерфейса - PullRequest
0 голосов
/ 22 февраля 2019

Рассмотрим следующий фрагмент:

private interface class IFoo {
    void foo();
};
private interface class IBar : public IFoo {
    void bar();
};

ref class Foo : public IFoo {
    public:
        virtual void foo() final { }
};
ref class Bar : public Foo, public IBar {
    public:
        virtual void bar() final { }
};

Как вы можете видеть, это обычная ситуация, когда базовая функциональность реализована в базовом классе и представлена ​​как базовый интерфейс, а дополнительные функциональные возможности реализованы в классе предка ивыставляется через дополнительный интерфейс.Последний наследует базовый интерфейс, чтобы внешний код мог просматривать экземпляры класса-предка как интерфейсную комбинацию (то есть интерфейс, который имеет как базовую, так и дополнительную функциональность).Однако MSVC сообщает, что Bar должен реализовывать методы IFoo.Возможна ли желаемая стратегия наследования / реализации с C ++ / CX (обратите внимание, в реальной жизни IFoo содержит несколько миллиардов методов, свойств и событий)?Я что-то упускаю здесь очевидное?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...