我正在使用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")();
}
这是正确的吗?
在此先感谢
** **乱收费的功能呢?那是什么? –
对不起,超载.... – RaistlinMolina
您的立场正确。 –