繁体   English   中英

复合赋值运算符重载

[英]Compound assignment operator overloading

我已经看到Boost可以为您提供以下可能性:

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

作为练习,我如何正确地使* =重载,其重载方式与前面的示例相同(右侧为double)?

这样的事情怎么样?

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

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

您的方法将如下所示:

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

对于类向量,它已重载,应加倍,应修改对象本身,并应返回自己以用作v1 = v2*= 4.2;

由于这是一个练习,因此您不会在此处发布实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM