转换构造函数的问题,大侠求救
#include<iostream.h>class Complex{public: Complex(){real=0;imag=0;} //构造函数 Complex(float r,float i){real=r;imag=i;} //带参构造函数 Complex(float r){real=r;imag=0;} //转换构造函数 friend Complex operator +(Complex&,Complex&); friend ostream& operator <<(ostream&,Complex&);private: float real; float imag;};//对'+'重载Complex operator +(Complex&c1,Complex&c2){ return ( Complex(c1.real+c2.real,c1.imag+c2.imag) );};//对"<<"重载ostream& operator <<(ostream&output,Complex&c){ output <<c.real<<"+"<<c.imag<<"i."<<endl; return output;};int main(){ Complex c1(1,2),c2(3,4),c3; cout <<"c1="<< c1<<endl; cout <<"c2="<< c2<<endl; cout <<"c1+c2="<<c1+c2<<endl; c3=c1+5; cout <<"c1+5="<<c3<<endl; c3=6+c2; cout <<"6+c2="<<c3<<endl; return 0;}#include<iostream>using namespace std;class Complex{public: Complex(){real=0;imag=0;} //构造函数 Complex(float r,float i){real=r;imag=i;} //带参构造函数 Complex(float r){real=r;imag=0;} //转换构造函数 friend Complex operator +(const Complex&,const Complex&); friend ostream& operator <<(ostream&,const Complex&);private: float real; float imag;};//对'+'重载Complex operator +(const Complex&c1,const Complex&c2){ return ( Complex(c1.real+c2.real,c1.imag+c2.imag) );};//对"<<"重载ostream& operator <<(ostream&output,const Complex&c){ output <<c.real<<"+"<<c.imag<<"i."<<endl; return output;};int main(){ Complex c1(1,2),c2(3,4),c3; cout <<"c1="<< c1<<endl; cout <<"c2="<< c2<<endl; cout <<"c1+c2="<<c1+c2<<endl; c3=c1+5; cout <<"c1+5="<<c3<<endl; c3=6+c2; cout <<"6+c2="<<c3<<endl; return 0;}
[解决办法]