error C2440: 'return' : cannot convert from 'const int' to 'class Complex &
解决时间 2021-04-24 07:14
- 提问者网友:蔚蓝的太阳
- 2021-04-23 06:25
#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;
}
最佳答案
- 五星知识达人网友:廢物販賣機
- 2021-04-23 08:02
Complex被定义为一个类,类中你的函数类型是class Complex &,但是却返回0,0是int型
全部回答
- 1楼网友:你哪知我潦倒为你
- 2021-04-23 08:39
重载的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<
我要举报
大家都在看
推荐资讯