Если базовый класс неизвестен библиотеке (он известен клиенту), обработать его конструктор не так сложно. Код выглядит так:
template<typename Parent>
struct AAAAA : public Parent
{
using Parent::Parent;
template<typename ...Args>
AAAAA(int a, int b, Args ...args) : Parent(args...) {}
};
Каков наилучший подход, если все> 1 базовых классов неизвестны?
template<typename P1, typename P2>
struct AAAAA : public P1, public P2
{
// ...CTOR....???
};
Мои первые мысли таковы:
- Пакет параметров типа "split".
- 2 кортежа, преобразованных в пакеты параметров.
Для обеих мыслей на этот раз я не знаю, как и если это возможно.