把Python嵌入C++的运算符重载的操作步骤是什么
短信预约 -IT技能 免费直播动态提醒
这篇文章给大家介绍把Python嵌入C++的运算符重载的操作步骤是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
把Python嵌入C++的运算符重载中你如果在C++中对相关运算符重载后,把Boost.Python传给Python时,你就可以将以下的代码将Msg类的“+”运算符重载,然后通过“.def(self + self)”传递给Python。
class Msg:public Message { public: int count; Msg(std::string m):Message(m) { } void setcount(int n) { count = n; } int getcount() { return count; } int operator+ (Msg x) const { int r; r = count + x.count; return r; } }; BOOST_PYTHON_MODULE(Message) { class_<Message>("Message",init<std::string>()) .add_property("msg",&Message::get,&Message::set); class_<Msg, bases<Message> >("Msg",init<std::string>()) .def("setcount", &Msg::setcount) .def("getcount", &Msg::getcount) .def(self + self); }
把Python嵌入C++的运算符重载中对于其他的运算符重载也可以使用同样的方法,如下所示。
.def(self - self) // 相当于_sub_方法
.def(self * self) // 相当于_mul_方法
.def(self /self) // 相当于_div_方法
.def(self < self); // 相当于_lt_方法
关于把Python嵌入C++的运算符重载的操作步骤是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341