永发信息网

error C2440: 'return' : cannot convert from 'const int' to 'class Complex &

答案:2  悬赏:0  手机版
解决时间 2021-04-24 07:14
#include
class Complex
{
public:
Complex(){}
Complex(double a, double b)
{
real=a;
image=b;
}
Complex& operator+(const Complex &r)
{
real=real+r.real;
image=image+r.real;
return 0;
}
void print()
{
if(image>0)
{
cout< }
else if(image==0)
{
cout< }
else if(image<0)
{
cout< }
}
private:
double real, image;
};
int main()
{
Complex a(1,2),b(3,4),c;
c=a+b;
c.print();
return 0;
}
最佳答案
Complex被定义为一个类,类中你的函数类型是class Complex &,但是却返回0,0是int型
全部回答
重载的opreator+原型返回的是Complex的引用,你返回一个int当然不行,返回*this就好了 #include class Complex { public: Complex(){} Complex(double a, double b) { real=a; image=b; } Complex& operator+(const Complex &r) //注意返回的是Complex& { real=real+r.real; image=image+r.real; return *this; //这样返回 } void print() { if(image>0) { cout<
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯