Как наследовать из списка типов, а затем позвоните члену в списке унаследованных Члены?

У меня есть набор классов, имеющих следующую структуру:

class U
{
public:
    explicit U(int) { ... }
    U() {...}
    Init(int) {...}
};

Мне нужно иметь возможность составить 1 или более из этих классов в класс X. псевдокод:

template<class TypeSequence>
class X that derives publicly from all the classes in TypeSequence
{
    X(int): all bases are initialized with the integer passed 
    {}
    //if the above constructor is impossible, then the following will do as well:
    X(int)
    {
        Call Init on all bases and pass the given int to them.
    }
};

Я думаю, мне нужно много MPL, но я не очень хорошо в этом. Это то, что я пытаюсь сделать выполнить? Образец кода будет отличным.

Моя ошибка: Забыли упомянуть, что я не могу использовать функции C ++ 11. Я ищу решение MPL.

9
задан ildjarn 8 September 2011 в 18:11
поделиться