我创建了一个类Hello.h
,如下所示:
#include <string>
class Hello {
public:
Hello() {};
std::string greet() {
cout<<"HelloWorld"<<endl;
};
};
我使用SWIG将此类导出为python模块并获取两个文件:Hello.py
和_Hello.so
,我可以在python env中导入此模块并成功调用greet()
方法下面:
import Hello
a = Hello.Hello()
a.greet()
我的问题是我在C ++中创建了一些Hello
对象,比如objectHello
,我希望通过导出的模块在python中调用objectHello
方法,以下是我想做的事情:
import Hello
a = Hello.Hello() // My idea is that how to change this line when "a" is created in C++, how to pass it to python and thus I can call it's method in python env
a.greet()
这种情况非常简单,实际上,我的C ++方法可能有很多参数。我怎么能做到这一点,或说服我这是一个错误的方向,有人可以提前给我一些提示,谢谢提前。