2017-12-25 15 views
0

以下のコードは、多項式クラス内の作業関数です。この関数はマイナス演算子をオーバーロードし、2つの多項式をオブジェクトに差し引くことができます。関数、setArrayおよびgetArrayは、ユーザーが係数を表す2倍の配列を入力するために使用されます。*これとC++での演算子のオーバーロード

私は演算子オーバーロードがC++で*これなしで動作する方法を理解していますが、コードスニペットで* thisでオーバーロードが行われる方法については混乱しています。

オブジェクト(多項式)を逆参照ポインタと同じに設定することは何を意味しますか?

Polynomial Polynomial::operator-(int rval2) { 
Polynomial equation = *this; 
equation.setArray(equation.getArray() - rval2); 
return equation; 
} 

私の理解によれば、ポインタはアドレスを指し、繰り返し新しいアドレスを割り当てることができます。ポインタを参照解除すると、現在のアドレスの値にアクセスできます。

+0

アドレスの再割り当ては行われません。コピーコンストラクタを探します。 – PaulMcKenzie

答えて

0

*からの割り当てはコピーコンストラクタを呼び出し、そのオブジェクトは変更され、そのローカルオブジェクトのコピーが返されます。

関連する問題