Я пытаюсь определить класс, где основным элементом является список очередей.
Проблема в том, что каждая очередь может быть разных типов.
Вот пример того, что я хотел бы получить. Если мы определим эти очереди:
queue1 (type int) = {5,7,3,4,5}
queue2 (type string) = {"Sam","Peter"}
queue3 (type string) = {"January","February","March"}
queue4 (type int) = {10}
Тогда я хотел бы иметь возможность создавать объекты, подобные этим:
object1.list_of_queues = {queue1,queue2}
object2.list_of_queues = {queue2,queue3,queue4}
Все они основаны на одном классе.
Я могу создать тип "список очередей", но все они имеют один и тот же тип:
typedef std::queue<std::string> queue_type; //queue of strings
typedef std::list<queue_type> list_type; //list of queues of (only) strings
Есть ли какое-либо решение без использования списков, чтобы избежать смешивания этого типа? Я думал об инкапсуляции очередей в новый определенный тип. Или создание списка указателей, где каждый указатель указывает на правильную очередь, но я не знаю, возможно ли это.
Заранее спасибо!