有什么方法可以在C++中轻松实现代理类模式?不使用AspectC++或其他繁重的工具,只使用内置的宏或模板。C++代理类
解释我想要什么:
class base_class
{
public:
virtual void method_one() { ... }
virtual void method_two() { ... }
}
class class_proxy : base_class
{
protected:
void before_any_method_call() { do stuff };
void after_any_method_call(std::exception* ex) { do stuff }
}
下面是这种情况。我想代理的类(base_class)可以进行远程调用,但是当网络关闭时,它会抛出从std :: exception派生的传输异常。 base_class有很多方法,我想捕获传输异常,以空的结果响应,并在下一次方法调用之前重新建立连接。
如果您给我们一个想法,您想要使用它,我们会更容易为您提供相关建议。 – 2011-04-19 15:35:39