0
friend istream& operator>>(istream &is, Complex &c) {
int re;
int im;
is >> re >> im;
c.setReal(re);
c.setImaginary(im);
return is;
}
有没有什么办法可以做到这一行或两行?也许类似的,我可以缩短这个istream函数吗?
is >> setReal() >> setImaginary();
这些函数虽然需要一个int,但我不知道如何编码。
您可以但为什么?它的工作原理非常清晰。我会争辩说一个更短的解决方案将更难以阅读。为了缩短它,你需要返回一个非const引用到Complex类型的字段,那么你可以这样做:is >> c.real >> c.imaginary' – 2013-02-19 01:37:13
请检查产生的汇编语言以查看是否存在是足够好的原因,以减少某事的一线。就我个人而言,我喜欢你的文章中的代码的清晰度。 – 2013-02-19 01:40:29
你的代码没有正确地失败... – 2013-02-19 01:41:32