1.

std::istream & operator>>(std::istream &is,complex_c &t)
{
    std::cout<<"real: ";
    is>>t.x;
    std::cout<<"imaginary: ";
    is>>t.y;
    return is;
}

如果参数 const complex_c & t, 就会无限死循环,,,好吧自己鱼就好。。const都不能改变类的值了还想去改变,,鱼

2.

complex_c::complex_c(double n,double m)
{
    x= n;
    y= m;
}
complex_c complex_c::operator+(const complex_c &t)const
{
    return complex_c(x+ t.x, y+ t.y);
}
complex_c complex_c::operator+(const complex_c &t)const
{
    return (x+ t.x, y+ t.y);
}

没加构造名则用逗号运算符 返回最右边结果y+ t.y,然后调用构造函数complex_c(y+ t.y,double m) m 在定义时给了默认值