Прокси-класс C ++

Есть ли способ легко реализовать шаблон прокси-класса в C ++? Не использовать AspectC ++ или другие тяжелые инструменты, только встроенный макрос или шаблоны.

Объяснение того, что я хочу:

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 имеет множество методов, и я хотел бы перехватить исключение транспорта, ответить пустым результатом и восстановить соединение перед следующим вызовом метода.

7
задан Ivan G. 19 April 2011 в 15:58
поделиться