インターフェイスがあると仮定します
class I{
public:
virtual void f(int id)=0;
virtual void g(int id, float x)=0;
}
ある種のIDからポインタへのマッピングを行うために、プロキシクラスが必要です
class Proxy : I
{
I * i[5];
public:
void f(int id)
{
i[id]->f(id);
}
void g(int id, float x)
{
i[id]->g(id, x);
}
}
だから私が書くとき
Proxy *p;
p->f(1);
f は id=1 のオブジェクトで呼び出されます
そのようなケースがいくつかあり、インターフェースはかなり大きいです。したがって、すべての関数をプロキシ クラスにコーディングする必要はありません。自動的に行う方法はありますか?マクロ、テンプレート、「->」などのオーバーロードを使用している可能性があります。