Пример прокси объекта с википедии
class MathProxy : public IMath
{
public:
MathProxy()
{
math = new Math();
}
virtual ~MathProxy()
{
delete math;
}
virtual double add(double x, double y)
{
return math->add(x, y);
}
virtual double sub(double x, double y)
{
return math->sub(x, y);
}
virtual double mul(double x, double y)
{
return math->mul(x, y);
}
virtual double div(double x, double y)
{
return math->div(x, y);
}
private:
IMath *math;
};
Есть возможность не делать реализации add, mul, div, sub функций, а сразу их перенаправлять в Math class?
для этих целей подошла бы перегрузка operator->, но требуется перед каждым вызовом функции вставить код. Код один и тот же для всех функций.