给定一个类:
class TCurrency {
TCurrency();
TCurrency(long);
TCurrency(const std::string);
...
};
用 Boost.Python 包装:
class_<TCurrency>( "TCurrency" )
.def( init<long> )
.def( init<const std::string&> )
...
;
是否可以创建在 Python 中显示为构造函数的工厂方法:
TCurrency TCurrency_from_Foo( const Foo& ) { return TCurrency(); }
这样在python中:
bar = TCurrency(foo)