Я хочу перенести часть моего кода на Python на код C++. Проблема, с которой я сталкиваюсь сейчас, когда функция может возвращать различные типы объектов - скажем, переменные одного класса или другие, в зависимости от некоторых условий (но не от типа аргумента), почти так:boost C++ метод, возвращающий разные типы объектов
def somefunc(var):
# obj1 is instance of Class1
# obj2 is instance of Class2
#.... some other code
if var == 1:
return obj1
elif var == 2:
return obj2
И скажем, что у меня есть соответствующие классы, реализованные на C++. И теперь я хочу как-то вернуться из метода либо к экземпляру одного класса, либо другого. Я не знаю, как подойти к этой задаче - как должен выглядеть мой метод на C++ и как должен выглядеть BOOST_PYTHON_MODULE. Если бы кто-то мог предоставить простейший в мире экзамен с функцией C++, возвращающей instanced из разных классов, это было бы весьма признательно.
Я не знаю подталкивание питона вещи, но boost.variant или boost.any, вероятно, будет полезно. –
Предположим, что проблем с файлом python нет. С тех пор я чувствую, что все проблемы связаны со С ++. Можете ли вы представить простой пример C++, где 'boost.any' или' boost.variant' используются таким образом, что какой-то метод возвращает экземпляры разных типов (например, некоторые пользовательские Class1 или Class2)? Думаю, это было бы ответом на мой вопрос. – Jacobian