/*
* 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 "SimplePoint.h"
#include <cmath>
#include <cstdlib>
#include <iostream>
double SimplePoint::Distance(const SimplePoint& p) const {
double distance = (x_ - p.x_) * (x_ - p.x_);
distance += (y_ - p.y_) * (y_ - p.y_);
return sqrt(distance);
}
void SimplePoint::SetLocation(const int x, const int y) {
x_ = x;
y_ = y;
}
void PrintSimplePoint(const SimplePoint& pt) {
std::cout << "SimplePoint: (" << pt.get_x() << ", "
<< pt.get_y() << ")" << std::endl;
}
int main(int argc, char** argv) {
SimplePoint x; // invokes synthesized default constructor.
PrintSimplePoint(x);
SimplePoint y(x); // invokes synthesized copy constructor.
// PrintSimplePoint(y);
y = x; // invokes synthesized assignment operator.
// PrintSimplePoint(y);
return EXIT_SUCCESS;
}