我正在开发一个项目,第三方库使用一些类的脚本 在.cpp文件中声明和定义。它们使用外部构造函数初始化这些类,该函数将迭代器中的实例注册到触发事件上。
通过这种方式,这些类似乎无法从外部文件访问。 但我需要使用非侵入性方法,以某种方式使用它们,而不需要重写第三方代码。
这是伪方案:
“Script.cpp”
#include "ScriptLoader.h"
class theirScript {
public:
theirScript() : RegisterScript("theirScript") {}
static void anUsefullStaticMethod() { ... }
}
void addTheirScript() {
new theirScript();
}
“ScriptLoader.h”
void addTheirScript();
“ScriptLoader.cpp”
#include "ScriptLoader.h"
addTheirScript();
“MYFILE.CPP”
#include "ScriptLoader.h"
theirScript::anUsefullStaticMethod(); // will never work
我怎样才能访问“他们的”类?有没有办法我不必重写他们的代码?