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