あまり良くないタイトルですみません。それでは、私の詳細な質問をご覧ください。
CComplex
実際、私は次のような演習問題に直面しました:複素数のクラスを定義します。次に、2 つのオブジェクトc1
とc2
inを定義しCComplex
ます。次に、コンストラクターを使用して and を初期化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
今、私はそれを修正する方法がわかりません。
c2=c1
PS: を使用すると、目標をまっすぐに達成できることがわかります。しかし、上記のコードに基づいてほとんど修正する方法を本当に知りたいです。また、複素数を伝えるためのより良い方法があれば知りたいです。