Есть абстрактный класс К
, на основе которого (наследование) созданы три других класса К1
, К2
, К3
. Создаваемый в программе объект О
должен быть создан как объект одного из классов (К1
, К2
, К3
) в зависимости от выбора пользователя.
Вопрос: как это должно выглядеть? Я пытался через switch
, внутри которого объект О
создается в зависимости от выбора пользователя, но Visual Studio такой вариант создания объектов считает "неопределенным" (выдает ошибки). Еще пытался создать объект О
в классе К1
, а в switch
-е при необходимости его убивать и пересоздавать, но снова мимо...
Жалко, что Вы не привели код, который выдает ошибки, потому что идея, в общем-то, правильная.
K* create(int i) {
switch (i) {
case 1: return new K1;
case 2: return new K2;
case 3: return new K3;
}
}
Предположу, что Вы пытались использовать передачу по значению вместо указателя.
В предложенном варианте нужно не забывать освобождать выделенную память после того, как созданный объект перестает быть нужным. В современном c++ имеет смысл в подобных ситуациях использовать умные указатели, в частности std::unique_ptr
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Uncaught Error: A dynamic link library (DLL) initialization routine failed\?\D:\JN\NODEELECTRON\node_modules\escpos\node_modules\usb\src\binding\usb_bindings
Из кода ниже изымаю подстроку потом вывожу результат в alertЖелаю в одном сообщение выводить оригинал + обработанный результат
Задача: Все минимальные и максимальные значение поменять местами a = [5,7,1,2,7]; b = [2,8,1,1,5];