我将使用"C++扩展方法"向JNI jobjects添加"C++扩展方法"以使NDK代码更具可读性的解决方案,如(统一函数调用语法):
重载很少,我们可以访问Original类的公共方法.
#include <iostream>
// Represents a class external to my source
class Person {
public:
Person(){
privateage = 20;
}
int age() { return privateage; }
private:
int privateage;
short anotherField;
};
class PersonExtensions : private Person {
public:
inline int size() { return 5 + age(); }
//NoFieldsOnExtensionClass
};
int main() {
Person person;
PersonExtensions* pE = (PersonExtensions*) &person;
std::cout << pE -> size() << std::endl;
std::cout << (*pE).size() << std::endl;
std::cout << …Run Code Online (Sandbox Code Playgroud)