Создание объекта по имени класса. C++ Имеется переменная со строкой, в которой содержится имя класса. Возможно ли создать объект указанного в строке класса, используя эту строковую переменную?
Поиск выдаёт только варианты для QT и .NET.

21 Авг 2019 в 07:10
195 +1
0
Ответы
1

Да, в C++ можно создать объект по имени класса, используя механизм рефлексии и макросов. Однако, стандартный C++ не поддерживает это "из коробки", поэтому нужно будет использовать дополнительные библиотеки или написать собственный механизм.

Один из способов реализации этого - использование макросов вместе с хэш-таблицей для хранения связки имени класса и функции, создающей объект этого класса. В момент выполнения программы можно будет обратиться к этой таблице по имени класса из строки и создать объект.

Реализация этого механизма достаточно сложна и требует опыта работы с макросами, указателями на функции и хэш-таблицами. Однако, возможна более простая реализация, если известен заранее ограниченный набор классов, объекты которых нужно будет создавать по имени.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир