Вопрос в том, смогу ли я найти способ сделать параметризованную перегрузку оператора, т.е. вместо
template <class T>
class A
{
private:
T m_var;
public:
operator T () const { return m_var; }
const A operator+ ( const A& r_var ) const { return m_var + r_var; }
const A operator- ( const A& r_var ) const { return m_var - r_var; }
const A operator* ( const A& r_var ) const { return m_var * r_var; }
const A operator/ ( const A& r_var ) const { return m_var / r_var; }
...........
}
чтобы что-то вроде этого
template <class T>
class A
{
private:
T m_var;
public:
operator T () const { return m_var; }
const A operator 'X' ( const A& r_var ) const { return m_var 'X' r_var; }
...........
}
, где 'X' будет принимать значения +, -, *, /, и таким образом, чтобы избежать повторения одного и того же кода шаблона. Заранее спасибо.