Proxy *p;
p->f(1);
을 쓸 때 내가
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);
}
}
그래서 포인터 매핑 ID의 일종을 수행하는 프록시 클래스가 필요
class I{
public:
virtual void f(int id)=0;
virtual void g(int id, float x)=0;
}
인터페이스를 가지고 가정
f가 id = 1 인 객체에서 호출되었습니다.
그런 경우가 많고 인터페이스가 다소 있습니다. 그래서 프록시 클래스의 모든 함수를 코딩하고 싶지는 않습니다. 자동으로 수행하는 방법이 있습니까? 어쩌면 과부하, 매크로, 템플릿을 사용하여 "->"등
있습니까? – hansmaad
약간 혼란 스럽습니다. 나는 그 자신의 인덱스를 모르지만 그의 f 또는 g 메소드가 호출 될 때를 알게됩니다 ... 왜? 이상한 디자인. 나는 그 자신의 색인을 결코 모르는 채로 모든 것을 계획 할 것이다. 그것은 더 나은 이해가 될 것입니다. –
@hansmaad, 많은 인터페이스 (일대일)를위한 많은 프록시 –