#include "vector.h" Vector2::Vector2() { x = y = 0; } Vector2::Vector2(float p1, float p2) { x = p1; y = p2; } Vector2::Vector2(const Vector2& v) { x = v.x; y = v.y; } Vector2& Vector2::operator=(const Vector2& v) { x = v.x; y = v.y; return *this; } Vector2& Vector2::operator+=(const Vector2& v) { x += v.x; y += v.y; return *this; } Vector2& Vector2::operator+(const Vector2& v) { return Vector2(*this) += v; } Vector2& Vector2::operator-=(const Vector2& v) { x -= v.x; y -= v.y; return *this; } Vector2& Vector2::operator-(const Vector2& v) { return Vector2(*this) -= v; } Vector3::Vector3() : Vector2() { z = 0; } Vector3::Vector3(float p1, float p2, float p3) { x = p1; y = p2; z = p3; } Vector3::Vector3(const Vector3& v) { x = v.x; y = v.y; z = v.z; } Vector3& Vector3::operator=(const Vector3& v) { x = v.x; y = v.y; z = v.z; return *this; } Vector3& Vector3::operator+=(const Vector3& v) { x += v.x; y += v.y; z += v.z; return *this; } Vector3& Vector3::operator+(const Vector3& v) { return Vector3(*this) += v; } Vector3& Vector3::operator-=(const Vector3& v) { x -= v.x; y -= v.y; z -= v.z; return *this; } Vector3& Vector3::operator-(const Vector3& v) { return Vector3(*this) -= v; } Vector4::Vector4() : Vector3() { w = 0; } Vector4::Vector4(float p1, float p2, float p3, float p4) : Vector3(p1, p2, p3) { w = p4; } Vector4::Vector4(const Vector4& v) { x = v.x; y = v.y; z = v.z; w = v.w; } Vector4& Vector4::operator=(const Vector4& v) { x = v.x; y = v.y; z = v.z; w = v.w; return *this; } Vector4& Vector4::operator+=(const Vector4& v) { x += v.x; y += v.y; z += v.z; w += v.w; return *this; } Vector4& Vector4::operator+(const Vector4& v) { return Vector4(*this) += v; } Vector4& Vector4::operator-=(const Vector4& v) { x -= v.x; y -= v.y; z -= v.z; w -= v.w; return *this; } Vector4& Vector4::operator-(const Vector4& v) { return Vector4(*this) -= v; }