复合赋值运算符重载

时间:2015-04-29 10:06:29

标签: c++ vector operator-overloading

我看过Boost给你的可能性:

v * = c其中c是double,v是向量

作为一个练习,我怎样才能正确地重载* =,这与上一个例子的方式相同(右边是double)?

2 个答案:

答案 0 :(得分:2)

这样的事情怎么样?

// in class
T& operator *= (double d)
{
   member *= d;
   return *this;
}

// outside of class
T operator * (T v, double d)
{
   v *= d;
   return v;
}

答案 1 :(得分:0)

您的方法如下:

inline vector operator *= (vector v, double &b);

它为类向量重载,应该采用double,应该修改对象本身并且应该返回自己以用作v1 = v2*= 4.2;

因为它是一个练习,所以你不会在这里发布实现。