1
に関してのオーバーロード:オペレータとC++の問題は、これが私の主な機能であるほか
int main(){
Complex c1(1.0, 5.0);
Complex c2(3.0,-2.0);
Complex c3(1.0, 2.0);
cout << "c1 + c2 + c3 = "
<< c1 + c2 + c3 << endl;
return 0;
}
これは私が必要な数字
Complex& operator+(const Complex & x, const Complex & y){
Complex c;
c.a = x.a + y.a;
c.b = x.b + y.b;
return c;
}
a
とb
は二重のプライベートなまで追加するために使用する機能です私のクラスの変数。私のプログラムを実行する上で
、私は1 + 2Iすなわち(C3)として出力を得るように見える、私だけが唯一の2つのオブジェクトを追加するときに、正しく動作するようです。既存のコードを修正して、それを最大限に活用できる方法はありますか?
S/'コンプレックス&演算子+(CONSTコンプレックス&X、CONSTコンプレックス&Y ) '/' Complex演算子+(const Complex&x、const Complex&y) ' – user0042
参照ではなく、新しいオブジェクトを作成しています。書かれているように、ぶら下がっている参照を返しています – CoryKramer
ありがとうございました@CoryKramer –