我的目标是重用类中的方法
A
,但我不想使用该类的所有方法,只想使用一个。mixin
中使用这两个函数 superclass
或/和 B
,但是类 A
中的所有方法(变量以及可能是我不知道的其他元素...)也可以在课堂上访问B
。方法不存在,除非绑定到类(或实例对象,如果它是使用
oo::objdefine
创建的); basic C API 并没有为您提供创建未绑定方法的方法(嗯,它可以提供,但仅支持创建构造函数和析构函数;未绑定方法处于部分定义状态)。这种绑定是为什么方法实际上不是过程的部分原因(尽管它们共享很多东西)。
要共享一个方法,请将其放入自己的类中(具有所需的最少支持声明)并将其混合到想要共享它的类中。或者定义一个
forward
,如果这对您的情况更有意义。或者只是复制定义(info class definition
的结果旨在以这种方式轻松使用)。