私の宿題では、クラスに保持されている複素数を操作するためにバイナリ演算子を使用する必要があります。ベクトル内に保持されたオブジェクトをオペレータに渡すにはどうすればよいですか?
ファイルからループを読み込む際に各クラスが作成される(新しいものを使用)ので、それらを参照できるように、プッシュバックを使用してベクトル内に格納しました。
現在の関数定義:クラス内
Complex Complex::operator+ (vector<Complex> &v)
{
result= new Complex;
result.real=real+v[y].real;
result.imaginary=imaginary+v[y].imaginary;
return result;
}
現在の定義:メイン関数で呼び出さ
Complex operator+ (vector<Complex> &v);
: 結果= V [X] + V [Y]。
私が見つけたものはすべて、既知の名前を持つクラスに依存しているので、ポインタを送信できます。私は実行時に使用するクラスを選択できるようにしたいので、セットのベクトルメンバーを与えることはできません。
私はこれがすべて間違っていることを認識していますが、これを行うには最良の方法が何であるかについては迷っています。
助けがあれば助かります。 :) Hxの
ここでは、「new」を使用することは絶対にありません。 –
複合体と別の複合体、または複合体を複合体のベクトルで追加しようとしていますか?あなたの主な関数呼び出しは前者を、後者はオペレータパラメータを、それぞれ示します。 – juanchopanza