C++习题求助大神 感激不尽 设计一个复数类 我的代码如下

classComplex{public:Complex(floatrnumber=0,intinumber=0);floatrnumber;intinumber;//vo... class Complex{
public:
Complex(float rnumber=0,int inumber=0);
float rnumber;
int inumber;
//void add(Complex& c);
Complex add(Complex& c);
Complex(Complex &p);
void show();
private:
float real_number;
int imaginary_number;
};
Complex::Complex(Complex &p){
real_number = p.real_number;
imaginary_number = p.imaginary_number;
}

Complex::Complex(float rnumber,int inumber){
real_number = rnumber;
imaginary_number = inumber;
}
Complex Complex::add(Complex& c){
real_number += c.real_number;
imaginary_number += c.imaginary_number;
return c;

}

void Complex::show(){
if(imaginary_number == 0){
cout << real_number << endl;
}
else{
cout << real_number <<(imaginary_number>0? '+' : '-') << imaginary_number << "i" << endl;
}
}

int main(){
Complex c1(3,5);
Complex c2=4.5;
c1.add(c2);
c1.show();

return 0;
}
报错是c2 no matching function for call to ‘Complex::Complex(Complex)’
展开
 我来答
风若远去何人留
2018-03-20 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450105
专业C/C++软件开发

向TA提问 私信TA
展开全部

c2初始化改一下

int main(){
Complex c1(3,5);
Complex c2(4.5);
c1.add(c2);
c1.show();
return 0;
}
更多追问追答
追问
可以小小解释一下原因吗
追答
不知道。。。
只知道这么改会对 。。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式