Мне нужно вызвать член определенного (общедоступного) класса через локальную переменную, и мне интересно, как я могу это сделать. Моя проблема заключается в том, что какая переменная для вызова в классе зависит от серии значений, поэтому мне действительно нужно использовать переменную, чтобы вызывать ее, а не объяснять ее имя. Например:C++ Доступ к общедоступным членам класса с переменной
У меня есть класс Предположения со многими переменными-членами (все из них представляют собой тип double). Так скажем, у меня есть пять потенциальных переменных, которые я хочу, чтобы позвонить в допущениях, но только один из них:
- VariableStem_One
- VariableStem_Two
- VariableStem_Three
- VariableStem_Four
- VariableStem_Five
В моем коде в настоящее время создается строка, содержимое которой соответствует одному из пяти терминов выше - теперь мне просто нужно вызов этой переменной-члена - могу ли я сделать это косвенно? Таким образом, у меня есть одна переменная «VariableKey» содержимое которого равен одному из пяти переменных выше - я хочу сделать следующий вызов:
Assumptions.VariableKey
Но есть VariableKey interpretated как косвенной ссылки.
Это также абстракция/упрощение моей реальной проблемы - количество возможных значений больше похоже на 75, поэтому я хочу избежать кодирования каждой переменной, если это возможно.
Заранее благодарен!
Что вы подразумеваете под названием переменной? Вы имеете в виду вызов определенной функции на основе значения переменной? Не могли бы вы - вместо использования строки - использовать указатель на функцию - и выбрать соответствующую функцию таким образом? В качестве альтернативы, можете ли вы сопоставить строки с функциями? Будет ли это жизнеспособным решением? Знаете ли вы весь спектр функций перед рукой? Возможно, какой-то пример кода поможет. –