的問題是,如果我能找到一種方法,使運營商的參數化超載,即代替元多的運算符重載
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」將採用值+, - ,*,/,並以這種方式避免重複相同的模式代碼。提前致謝。
您可以使用宏 – Cameron 2011-01-30 17:30:21