/*
题目大体意思:
题目:一个复数类,运算符重载 + ,实现复数和复数的相加。输入一组复数,每行一个复数,直到输入0结束。 输出这组复数的结果。
提示: 复数的输入和输出符合数学书写规范
输入示例
3+2i
2+3i
0
输出示例
5+5i
*/
这个题有很多坑,其中一个让我陷入最深的坑为这个题是多个复数相加,弄的我以为是两个复数相加,这个坑让我惨败,浪费了我大量的时间,所以我希望大家尽量早日脱坑;
这个思路我就先不说了,因为没有涉及任何算法
还是把我老师的思路发过来吧,不过我是按照自己的思路来做的;
先看错误的代码:
#include <iostream>
#include <cstdio>
#include <string>
#include <sstream>
using namespace std;
class Fs
{
public:
int imag;
int real;
public:
friend Fs operator +(const Fs &a,const Fs &b);
Fs(int r,int i):imag(i),real(r){}
Fs(){}
};
Fs operator +(const Fs &a,const Fs &b)
{
Fs c;
c.real=a.real+b.real;
c.imag=a.imag+b.imag;
return c;
}
int main()
{
while(1)
{
string a,b;
cin>>a;
if(a==