私はプログラムfoo.exeを持っており、実行時にプラグインbar.dllをロードすると、bar.dllのコードにfoo.exeのクラスを使用させる方法を教えてください。そして、bar.dllがfoo.exeからクラスを派生させることは可能でしょうか?また、ソリューションはクロスプラットフォームですか?機能をプラグインライブラリにどのように公開しますか?
編集:ここで私は何をしようとしているの多くはである:通常
//foo.exe
class Node {
public:
void SetName(const string& n) { ... }
const string& GetName() { ... }
};
//bar.dll
class TransformNode : public Node {
public:
void DoSomething() {
SetName(...); //basically, can I inherit functionality from foo.exe (SetName and GetName)
//and reuse the code in a derived class in bar.dll?
}
};
インターフェイスでは、純粋な仮想クラスを意味するのか、それとも実装にいくつかの関数を含めることができますか? – Mark