![](/img/trans.png)
[英]How to create and assign a callback function for a Python Swigged C++ object
[英]How to access C++ baseclass functions using a derived Python swigged object?
我有一個C ++類,例如B,它是從另一個類A公開地派生的。
B類被廣泛使用,並且可以在Python中訪問。 這很好用,並且B類中定義的所有公共函數都可以在Python中輕松使用,而幾乎不需要任何工作。
但是,在Python中創建B對象時,類A中定義的公共函數似乎不會公開,而是自動可用的。
問題是,如何獲得一個Swiged Python對象的C ++類層次結構的功能?
似乎答案是在swig接口文件中包含文件的實際順序中。
通過在派生類之前放置基類頭,一切似乎都按預期開始工作。
對於任何“痛飲”的人,看到警告;
warning 401: 'AnObjectXXX' must be defined before it is used as a base class.
將為您提供一個沒有預期的基類功能的python對象。
您應該毫不費力地得到它。 這是來自http://www.swig.org/Doc1.3/Python.html#Python_nn21的一些文檔。
31.3.8 C ++繼承
SWIG完全了解與C ++繼承有關的問題。 因此,如果您有這樣的課程
class Foo {
...
};
class Bar : public Foo {
...
};
這些類被包裝成可反映相同繼承結構的Python類層次結構。 所有常用的Python實用程序功能均可正常運行:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.