成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

把Python嵌入C++中類(lèi)的成員屬性的內(nèi)容介紹

開(kāi)發(fā) 后端
你如果想對(duì)Python嵌入C++中類(lèi)的成員屬性的相關(guān)實(shí)際操作有所了解的話,你就可以點(diǎn)擊以下的文章對(duì)其相關(guān)的實(shí)際應(yīng)用有所了解。

在C++中類(lèi)的相關(guān)成員能使用關(guān)鍵字去聲明為不一樣的屬性。但是在Python中則會(huì)依靠類(lèi)的相關(guān)屬性的命名的方式。以下的文章就是介紹把Python嵌入C++中類(lèi)的成員屬性的相關(guān)實(shí)際操作方案的介紹。

把Python嵌入C++中類(lèi)的成員屬性

在C++中類(lèi)的相關(guān)成員能使用關(guān)鍵字去聲明為不一樣的屬性。但是在Python中則會(huì)依靠類(lèi)的相關(guān)屬性的命名的方式。使用Boost.Python可以將其C++中類(lèi)成員的屬性傳遞給Python。如下所示代碼使用Boost.Python來(lái)處理類(lèi)成員的屬性。將BOOST_PYTHON_MODULE中的代碼改為如下所示。

 

  1. BOOST_PYTHON_MODULE(Message)  
  2. {  
  3. class_<Message>("Message", init<std::string>())  
  4. .def("set", &Message::set)  
  5. .def("get", &Message::get)  
  6. .def_readwrite("msg", &Message::msg);  
  7. ;  
  8. }   

 

此處將Message類(lèi)中的成員msg設(shè)置為可讀寫(xiě),還可以使用“.def_readonly”將其設(shè)置為只讀屬性。對(duì)于類(lèi)中的私有成員還可以使用“.add_property”將其操作函數(shù)設(shè)置為Python類(lèi)中的屬性。如下代碼使用“.add_property”對(duì)私有成員進(jìn)行操作。

 

  1. BOOST_PYTHON_MODULE(Message)  
  2. {  
  3. class_<Message>("Message",init<std::string>())  
  4. .add_property("msg",&Message::get,&Message::set);  
  5. }  

 

以下代碼在Python中使用編譯好的Message模塊。

 

  1. >>> import Message  
  2. >>> s = Message.Message('hi')  
  3. >>> s.msg  
  4. 'hi'  
  5. >>> s.msg = 'boot' 
  6. >>> s.msg  
  7. 'boot'  

 

4.類(lèi)的繼承

C++中類(lèi)的繼承關(guān)系也可以通過(guò)Boost.Python反映到Python模塊中。以下代碼將父類(lèi)和子類(lèi)分別導(dǎo)入到Python模塊中。以下就是對(duì)Python嵌入C++中類(lèi)的成員屬性

 

  1. #include <string.h> 
  2. #include <iostream.h> 
  3. #include <boost/python.hpp> 
  4. using namespace boost::python;  
  5. #pragma comment(lib, "boost_python.lib")  
  6. class Message  
  7. {  
  8. public:  
  9. std::string msg;  
  10. Message(std::string m)  
  11. {  
  12. mmsg = m;  
  13. }  
  14. void set(std::string m)  
  15. {  
  16. mmsg = m;  
  17. }  
  18. std::string get()  
  19. {  
  20. return msg;  
  21. }  
  22. };  
  23. class Msg:public Message  
  24. {  
  25. public:  
  26. int count;  
  27. Msg(std::string m):Message(m)  
  28. {  
  29. }  
  30. void setcount(int n)  
  31. {  
  32. count = n;  
  33. }  
  34. int getcount()  
  35. {  
  36. return count;  
  37. }  
  38. };  
  39. BOOST_PYTHON_MODULE(Message)  
  40. {  
  41. class_<Message>("Message",init<std::string>())  
  42. .add_property("msg",&Message::get,&Message::set);  
  43. class_<Msg, bases<Message> >("Msg",init<std::string>())  
  44. .def("setcount", &Msg::setcount)  
  45. .def("getcount", &Msg::getcount);  

 

 以上就是對(duì)Python嵌入C++中類(lèi)的成員屬性相關(guān)的內(nèi)容的介紹,望你會(huì)有所收獲。

【編輯推薦】

  1. Python嵌入C實(shí)例的相關(guān)具體解析
  2. 把Python嵌入C/C++模塊與函數(shù)的實(shí)際操作步驟介紹
  3. 把Python嵌入C/C++模塊與函數(shù)的操作步驟介紹
  4. 把Python嵌入C/C++元組操作的具體以應(yīng)用方案介紹
  5. Python嵌入C/C++(較低層次嵌入)時(shí)所需用到的函數(shù)
責(zé)任編輯:佚名 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-01-19 18:35:12

靜態(tài)成員

2010-03-26 11:00:55

Python嵌入CC++

2010-03-24 10:06:37

Python嵌入C++

2010-03-24 12:45:00

Python 嵌入

2024-02-22 18:07:17

C++靜態(tài)成員代碼

2010-03-26 10:46:20

Python嵌入CC++

2010-02-01 17:31:06

C++類(lèi)成員

2010-03-26 11:00:55

Python嵌入CC++

2010-01-18 18:04:28

靜態(tài)成員

2010-03-26 16:17:24

Python嵌入

2010-01-15 18:35:25

C++的類(lèi)

2010-03-26 10:05:22

Python嵌入CC++

2010-03-26 09:48:43

Python嵌入C++

2011-06-21 10:17:41

c++內(nèi)存模型

2010-01-18 17:57:02

靜態(tài)數(shù)據(jù)

2010-01-21 13:33:44

C++基類(lèi)

2021-06-18 12:30:36

C++函數(shù)指針編程語(yǔ)言

2009-05-26 09:31:00

C++重載覆蓋

2010-03-26 12:54:27

Python嵌入C++

2011-07-20 15:58:53

C++引用
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美激情国产日韩精品一区18 | 精品一区二区三区在线观看国产 | 天天爱av| 精品国产乱码久久久久久闺蜜 | 日韩欧美三级电影在线观看 | 天天干天天玩天天操 | 亚洲一区二区三区在线播放 | 在线观看成人小视频 | 日本一区二区高清不卡 | 夜夜草天天草 | 欧美中文字幕一区二区三区 | 精品国产一区久久 | 日韩91 | 成人午夜网站 | 久久国产一区 | 麻豆精品久久久 | 中文字幕一页二页 | 在线观看中文字幕 | 国产精品久久久久久福利一牛影视 | 久久久国产一区二区三区 | www.黄网 | 日本成人午夜影院 | 欧美综合一区二区三区 | 精品国产99 | 美女久久视频 | 中文字幕在线精品 | 精品欧美一区二区在线观看 | 亚洲精选一区二区 | 久草免费电影 | 插插宗合网 | 日本不卡免费新一二三区 | www.日韩系列| 少妇一级淫片免费播放 | 国内精品免费久久久久软件老师 | 国产在线精品一区 | 欧美综合国产精品久久丁香 | 91在线视频播放 | 国产精品视频一区二区三区 | 亚洲视频免费在线观看 | 国产区精品 | 国产一区999 |