Можно ли сделать класс дочерним для двух разных иерархий? - PullRequest
0 голосов
/ 29 июня 2018

Я бы хотел сделать следующее:

class MyA : public ExternalA {
// some code
}

class MyB : public ExternalB {
// the same code as above
}

т.е. Я хочу расширить как ExternalA, так и ExternalB одинаково. Но (по причинам) я не хочу сделать:

class MyC : public ExternalA, public ExternalB
{
// same code
}

PS, Edit: мой вопрос о том, как мне избежать дублирования разделов кода в определениях MyA и MyB.

1 Ответ

0 голосов
/ 29 июня 2018

шаблон может помочь:

template <typename Base>
class MyDerived : public Base
{
    // some code
};

using MyA = MyDerived<ExternalA>;
using MyB = MyDerived<ExternalB>;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...