【发布时间】:2009-11-22 11:41:22
【问题描述】:
我通过SWIG 接触过Python 的一些C++。其中有一个带有单个纯虚函数的基类。
在 Python 中,我导入我的模块并定义一个使用抽象类作为基础的类。
import mymodule
class Foo(mymodule.mybase):
...
在该模块中也是一个管理器类,我想将我新定义的类添加到管理器中。
m = mymodule.mymanager()
m.add(Foo())
add的定义:
void add(mybase* b) { ... }
没有像我预期的那样工作:
TypeError: in method 'mymanager_add', argument 2 of type 'mymodule::mybase *'
我错过了什么?似乎不确定我的 Foo 类是“mybase”。我尝试在 Python 中添加对基类构造函数的调用,但没有奏效,说该类是抽象的。
def __init__(self):
mymodule.mybase.__init__(self)
【问题讨论】: