[問題] 請問讓 C++ 的 virtual fucntion 連到 Python 裡呢?
(程式沒有 Boost,也沒有 swig 可以使用。)
問題大概是這樣子,有一個 C++ Class,像是
-----------------------------------------------------
class Base
{
public:
virtual void VFTest()
{
printf( "VFTest from C++\n" );
}
};
-----------------------------------------------------
參考官網的教學,把 class Base 寫的有點像 C Language,
現在可以做到在 Python 裡 import,同時
b = Base()
b.VFTest()
也可以秀出 "VFTest from C++",(參考官網的教學而得),
但如果今天有一個 Python Class,像是
-----------------------------------------------------
class Derived( Base ):
def VFTest( self ):
print( "VFTest from Python" )
-----------------------------------------------------
C++ 的主程式要如何 call VFTest() 才能發揮 virtual function
的本能,從 C++ 穿過 Python,去秀出 "VFTest from Python" 呢?
(會是要自己弄 virtual table 嗎?,那 Python 的 Function
pointer 要從哪拿到?)
Thanks
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.167.32.18
→
08/07 17:23, , 1F
08/07 17:23, 1F
→
08/07 17:24, , 2F
08/07 17:24, 2F
→
08/07 21:12, , 3F
08/07 21:12, 3F
→
08/07 21:12, , 4F
08/07 21:12, 4F
→
08/07 21:19, , 5F
08/07 21:19, 5F
推
08/07 22:28, , 6F
08/07 22:28, 6F
→
08/07 22:28, , 7F
08/07 22:28, 7F
→
08/07 22:29, , 8F
08/07 22:29, 8F
→
08/07 22:30, , 9F
08/07 22:30, 9F
→
08/07 23:04, , 10F
08/07 23:04, 10F
Python 近期熱門文章
PTT數位生活區 即時熱門文章