【发布时间】:2013-01-15 11:47:29
【问题描述】:
我正在使用 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")();
}
这对吗?
提前致谢
【问题讨论】:
-
过度收费功能?那是什么?
标签: c++ python boost boost-python