Я пишу приложение GUI в Qt для работы с физическими устройствами, такими как нагреватель или насос и т. Д. c. и хотите использовать контейнерный класс, такой как QList, для хранения нескольких различных экземпляров / указателей.
Что-то вроде ...
class Device { /* common member variables, functions */ }
class DeviceA : public Device { /* Add specific member variables, functions */ }
class DeviceB : public Device { /* Add another specific member variables, functions */ }
QList<*Device> *deviceList;
deviceList = new QList<Device*>;
DeviceA *a1 = new DeviceA;
DeviceA *a2 = new DeviceA;
devices->append(a1);
devices->append(a2);
foreach ( auto dev, devices ) { /* do something */ }
Но это, должно быть, не очень хорошая идея, возможно, потому что Размер устройства меньше, чем у наследующих устройств. Как я могу реализовать эти случаи?