/*★ 演算子のオーバーロード 前田 稔 ★*/ #include <iostream> using namespace std; class Vector2 { public: float X; float Y; Vector2() { X= 0.0f; Y= 0.0f; } Vector2(float x, float y) { X= x; Y= y; } |
Vector2 operator+(Vector2 obj) { Vector2 ans; ans.X = this->X + obj.X; ans.Y = this->Y + obj.Y; return ans; } |
Vector2 operator-(Vector2 obj) { Vector2 ans; ans.X = this->X - obj.X; ans.Y = this->Y - obj.Y; return ans; } }; |
void main() { Vector2 *vt1,*vt2,*vt3; vt1= new Vector2(200,100); vt2= new Vector2(20,10); vt3= new Vector2(32.1f,23.4f); cout << "X=" << vt1->X << " Y=" << vt1->Y << endl; *vt1= *vt1 + *vt2; cout << "X=" << vt1->X << " Y=" << vt1->Y << endl; *vt1= *vt1 - *vt3; cout << "X=" << vt1->X << " Y=" << vt1->Y << endl; delete vt1; delete vt2; delete vt3; } |
*vt1 = *vt1 + *vt2; |
*vt1 += *vt2; |
*vt1 += *vt2; *vt1 -= *vt3; |
Vector2 &operator+=(Vector2 obj) |