C++ 运算符重载中的回答不正确
我刚刚学习了运算符重载,我想尝试创建一个表示复数的对象。我写了以下内容:C++ 运算符重载中的回答不正确,c++,C++,我刚刚学习了运算符重载,我想尝试创建一个表示复数的对象。我写了以下内容: #include <iostream> using namespace std; class complexNumber { public: double re, im; complexNumber(){} complexNumber(double a, double b) { re = a;
#include <iostream>
using namespace std;
class complexNumber
{
public:
double re, im;
complexNumber(){}
complexNumber(double a, double b)
{
re = a;
im = b;
}
complexNumber operator+ (complexNumber b)
{
complexNumber c;
c.re = re + b.re;
c.im = im + b.im;
}
complexNumber operator- (complexNumber b)
{
complexNumber c;
c.re = re - b.re;
c.im = im - b.im;
}
};
int main()
{
complexNumber a(1,2);
complexNumber b(4,6);
complexNumber c;
complexNumber d;
c = a + b;
d = a - b;
cout << c.re << " + " << c.im << "i" << endl;
cout << d.re << " + " << d.im << "i" << endl;
}
#包括
使用名称空间std;
类复合数
{
公众:
双re,im;
complexNumber(){}
复合编号(双a,双b)
{
re=a;
im=b;
}
complexNumber运算符+(complexNumber b)
{
络合数c;
c、 re=re+b.re;
c、 im=im+b.im;
}
complexNumber运算符-(complexNumber b)
{
络合数c;
c、 re=re-b.re;
c、 im=im-b.im;
}
};
int main()
{
配合物编号a(1,2);
配合物编号b(4,6);
络合数c;
复合数d;
c=a+b;
d=a-b;
你需要从函数中返回一个值。你的编译器没有警告你吗?你需要从函数中返回一个值。你的编译器没有警告你吗?+1让编译器编写者高兴:注意他们的警告!他们花时间把它们放在编译器中!+1让编译器编写者高兴:注意他们的警告gs!他们花了很多时间把它们放到编译器中!juanchopanza现在删除的答案已经说过了,但我认为值得重复:默认(无参数)构造函数很糟糕,因为它使成员无法初始化。至少通过complexNumber():re(),im(){}初始化它们
。juanchopanza现在删除的答案已经说过这一点,但我认为值得重复:默认(无参数)构造函数很糟糕,因为它使成员无法初始化。至少通过complexNumber():re(),im(){}
初始化它们。