我正在使用 Boost Python 为 C++ 中的某些类提供 python 接口。我发现这种情况我不确定如何解决:
我有一个具有此成员函数的类:
virtual void visit(const ReportClass r) = 0;
virtual void visit(const unsigned int category) = 0;
virtual void visit(const char* type) = 0;
virtual void visit(const char* name, const unsigned int id, const char &value ) = 0;
virtual void visit(const char* name, const unsigned int id, const unsigned short &value ) = 0;
virtual void visit(const char* name, const unsigned int id, const unsigned int &value ) = 0;
virtual void visit(const char* name, const unsigned int id, const MaskedAddr &value ) = 0;
virtual void visit(const char* name, const unsigned int id, const unsigned long long &value ) = 0;
我对如何实现 python-boost 部分有点迷茫,我已经看到如何处理虚函数和重载函数,但我不知道如何将两者结合起来。
顺便说一句,我在示例中看到返回 int 的虚函数(例如)应该以这种方式实现:
int f()
{
return this->get_override("f")();
}
就我而言,他们没有返回任何东西,我想我应该以这种方式实现它们:
void f()
{
this->get_override("f")();
}
它是否正确?
提前致谢