input: Write a python function to perform basic vector operations (addition, subtraction, dot product, and cross product) on 2D vectors.
  assert (Vector2D(1, 2) + Vector2D(3, 4)).x == 4 and (Vector2D(1, 2) + Vector2D(3, 4)).y == 6
  assert (Vector2D(5, 7) - Vector2D(2, 3)).x == 3 and (Vector2D(5, 7) - Vector2D(2, 3)).y == 4
  assert Vector2D(1, 2).dot(Vector2D(3, 4)) == 11
  assert Vector2D(1, 2).cross(Vector2D(3, 4)) == -2
output: class Vector2D:
      def __init__(self, x, y):
          self.x = x
          self.y = y
  
      def __add__(self, other):
          return Vector2D(self.x + other.x, self.y + other.y)
  
      def __sub__(self, other):
          return Vector2D(self.x - other.x, self.y - other.y)
  
      def dot(self, other):
          return self.x * other.x + self.y * other.y
  
      def cross(self, other):
          return self.x * other.y - self.y * other.x