Есть два класса: А, В. class A { public: A(); A(int i); }; class B { public: B(); B(QString s); }; Смысл такой, что они имеют разный функционал и унаследовать один от другого не желательно. Необходимо написать класс-хранилище, который хранит три переменные. Причем на месте каждой переменной может быть и А, и В. Значения передаются статически. class Storage { }; Вызов примерно такой: A a; B b; Storage s(a,b,a); или так: Storage s(A(1), B("Hello, world"), A(3)); Как наиболее просто это сделать? Без создания н-го числа конструкторов, переменных и флагов?