我有一个C++类,我需要通过添加一个新的私有属性来扩展。我还需要它不绑定到特定的类,所以我使用define。我试着用添加新方法的方法来做,但似乎没有任何效果:
%define add_new_attribute(cls)
%extend MyClass {
int new_attribute;
};
%enddef
我不在乎新属性是私有的还是公共的,尽管我更希望它是私有的。文件也没有提到这一点。有别的办法吗?在
编辑:
不过,从方法实例化一个新的实例属性似乎没有问题。例如,这是可能的(它创建了一种迭代器,在实例上保持其状态):
^{pr2}$但是,我确实需要这个代码在C++中,因为我需要引用一个指针:)。在
不知道为什么要使用%define。只需将其附加到swig接口文件中就可以了(我没有测试它的成员变量,但我已经将其用于成员函数定义):
注意最后一个分号是多余的。在
相关问题 更多 >
编程相关推荐