我有一个包含实数和虚数的“复数”类。我正在尝试重载 + 运算符,以便我可以将实数加到实数,将虚数加到虚数,但我在这里撞墙了。
在函数中,我可以轻松获取值。然而,归还它们是个婊子。
我的计划是也重载“=”运算符,这样我就可以走了
复杂的a、b、c;
(设置a和b)
c = a + b;
然后让 a+b 返回一个复数,然后让复数 c 等于 a+b 返回的复数
关于这是否是一条可行的途径有什么看法吗?
是否可以更轻松地完成任何意见?
最佳答案
将它们作为复数
返回!例如
const complex operator+(const complex &a, const complex &b)
{
return complex(a.re + b.re, a.im + b.im);
}
你不需要重载operator=
;编译器将为您生成一个逐个元素复制的文件,这可能足以满足复杂类的需求。
关于c++ - 如何最有效地从重载运算符返回多个值? (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4119619/