以下の私のコードを見てください。クラス Vector2D を作成しました。+ 演算子と * 演算子をオーバーロードしました。メイン関数では、これら 2 つのオーバーロードされた演算子をテストします。これに追加したいのは次のことだけです: >> 演算子 (?) をオーバーロードしたいので、>> を使用するときにベクトルを入力できます。(つまり、x および y コンポーネント)。次に、<< operator(?) をオーバーロードしたいので、<< を使用すると、プログラムは入力したベクトルを返します。
#include <iostream>
using namespace std;
class Vector2D
{
public:
Vector2D();
Vector2D(double X = 0, double Y = 0)
{
x = X;
y = Y;
};
double x, y;
Vector2D operator+(const Vector2D &vect) const
{
return Vector2D(x + vect.x, y + vect.y);
}
double operator*(const Vector2D &vect) const
{
return (x * vect.x) + (y * vect.y);
}
};
int main()
{
cout << "Adding vector [10,10] by vector [5,5]" << endl;
Vector2D vec1(10, 10);
Vector2D vec2(5, 5);
Vector2D vec3 = vec1 + vec2;
cout << "Vector = " << "[" << vec3.x << "," << vec3.y << "]" << endl;
cout << "Dot product of vectors [5,5] and [10,10]:" << endl;
double dotp = vec1 * vec2;
cout << "Dot product: " << dotp << endl;
return 0;
}
唯一の問題は、これを行う方法がわからないことです。誰か助けてくれませんか^.^?? 前もって感謝します。