纯虚函数调用

| 我正在使用boost.python来制作用c ++编写的python模块。我有一些带有纯虚函数的基类,我已经像这样导出了:
class Base
{
    virtual int getPosition() = 0;
};

boost::python::class_<Base>(\"Base\")
   .def(\"GetPosition\", boost::python::pure_virtual(&Base::getPosition));
在Python中我有代码:
class Test(Base):
   def GetPosition(self):
      return 404

Test obj
obj.GetPosition()
  RuntimeError:调用纯虚拟函数 怎么了?     
已邀请:
当构造函数或析构函数直接或间接调用纯虚拟成员时,会发生此错误。 (请记住,在执行构造函数和析构函数期间,动态类型是已构造/已分解类型,因此将为该类型解析虚拟成员)。     
“纯虚函数”是在基类中没有定义的函数。这意味着该基类的所有子代将具有该函数的重写实现,但是该基类没有实现。 在您的示例中,看起来您正在调用一个纯虚函数,因此您正在调用一个已声明的函数,但是由于您没有调用任何子级的实现,因此它没有定义。     

要回复问题请先登录注册