В Python У меня есть класс флагов, который я нашел очень полезным. Я новичок на C++ и не могу воспроизвести эту функцию python в C++. Вместо того, чтобы ставить код C++, который не работал, вот что я ищу для репликации, и мне нужны некоторые предложения о том, куда идти, шаблоны, виртуальные или?Как динамически добавить свойство key: value в класс C++, а затем сделать его доступным как class.property
Требование является возможность динамически изменять члены класса, в Python это модификации Dict элемент класса это сам, что позволяет это.
В Python:
импорт SYS Args = []
... нагружает вверх Args [] с помощью клавиши: значения циклически sys.argv [] ... бла-бла-бла
класс Флаг:
защиту __ __ INIT (самостоятельно, ** арг):
. . __ __ ДИКТ обновление (арг)
теперь позволяют flag.dynamicproperty
флаг = флаг (** Dict (арг))
Пример использования: $ питон script.py somedesc1 someval1 somedesc2 someval2
Что это делает позволяет мне пройти в параметрах, как и выше, из командной строки и присвоить любое количество из них на лету и сделать то доступны по flag.property (например, flag.somedesc1) вызов whi ch возвращает somval1. Еще один способ подумать об этом - это динамическое добавление свойства key: value в класс C++.
Пример использования в коде питона:
если flag.somedesc1 = '10': печать someval1
Я не могу сделать сопоставимый C++ работу. Я рассмотрел полиморфизм, но они должны быть назначены динамически, а затем доступны как свойство класса.
Идеи ??? Конечно, C++ может это сделать, я просто не знаю, с чего начать.
Изначально я пытался использовать вектор в качестве динамического держателя контента, я просто не мог найти способ привязать его к объекту и дать ему имя для ключа. Я попытаюсь что-то придумать с помощью карты и getVariable (string), как вы предлагаете. –
user2671474
Можете ли вы представить себе какой-либо способ создания динамического enum? – user2671474