假設我有一個接口自動代理類
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的對象上被調用
有幾個這種情況下,接口相當大。 所以我不想編寫代理類中的所有函數。 有沒有辦法自動做到這一點?也許使用宏,模板,重載「 - >」等
你寫了很多接口相同的代理服務器,或者很多的代理類相同的接口,或者很多的代理有很多接口? – hansmaad 2012-04-19 13:31:02
這有點令人困惑:它看起來像我和實例不知道他自己的索引,但它知道他的f或g方法何時被調用......爲什麼?奇怪的設計。我會計劃整個事情,我從不知道他自己的索引。這會更有意義。 – 2012-04-19 13:40:59
@ hansmaad,很多接口的許多代理(一對一) – 2012-04-19 13:46:45