对不起这么不好的标题。现在请看我的详细问题。
实际上,我遇到了这样一个练习问题:CComplex
为复数定义一个类。然后,确定两个对象c1
并c2
在 中CComplex
。接下来,使用构造函数来初始化c1
和c2
。之后,将c1
' 值赋给c2
。
我的代码如下:
#include<iostream>
using namespace std;
class CComplex
{
public:
CComplex(int real1,int image1)
{
real=real1;
image=image1;
}
CComplex(CComplex &c)
{
real=c.real;
image=c.image;
}
public:
void Display(void)
{
cout<<real<<"+"<<image<<"i"<<endl;
}
private:
int real,image;
};
int main()
{
CComplex c1(10,20);
CComplex c2(0,0);
c1.Display();
c2.Display();
CComplex c2(c1);
c2.Display();
return 0;
}
它有一个错误'c2' : redefinition
。
然后,我变成CComplex c2(c1);
了c2(c1);
。
此时,它有一个错误,即error C2064: term does not evaluate to a function
现在,我不知道如何纠正它。
PS:我知道使用c2=c1
可以直接达到目标。但是,我真的很想知道如何根据我上面的代码进行纠正。另外,我想知道是否有更好的方法来传达复数。