У меня есть связанный список типа Device:
Node<Device> list = new Node<device>(device);
И устройства имеют производные классы:
И мне нужно, чтобы мой список мог содержать все производные классы устройств.
Как мне это сделать?
Примечание. Если я отправлю Aerobic_Device в список, оно просто динамически преобразуется в Device, что приводит к потере данных.
ИЗМЕНИТЬ:
Я переделал всю логику своей программы для работы с указателями, и теперь список такой: Node<Device*>
— Который все так же преобразует все в тип Device. Теперь, как многие предлагали, я переключил его на Node<std::unique_ptr<Device>>
, но это только внесло много-много ошибок.
Device
в списке. 2. Вам понадобится общий интерфейс [или используйтеdynamic_cast
] с использованием виртуальных функций. - person Mats Petersson   schedule 28.12.2015