/*
 * Copyright ©2026 Soham Pardeshi. All rights reserved.
 * Permission is hereby granted to students registered for University of
 * Washington CSE 333 for use solely during Summer Quarter 2026 for
 * purposes of the course. No other use, copying, distribution, or
 * modification is permitted without prior written consent. Copyrights
 * for third-party components of this work must be honored. Instructors
 * interested in reusing these course materials should contact the author.
 */

#include "Point.h"

#include <cmath>  // for sqrt

// retType Class::Method(...) ties a definition back to its class.
// Prefer the initialization list: it builds each member once, directly.
Point::Point(int x, int y) : x_(x), y_(y) { }

double Point::Distance(const Point& p) const {
  double dx = x_ - p.GetX();
  double dy = y_ - p.GetY();
  return sqrt(dx * dx + dy * dy);
}

void Point::SetLocation(int x, int y) {
  x_ = x;
  y_ = y;
}