![]() ![]() ![]() | Class Point i C++ - with an output function for points. | Lecture 3 - slide 1 : 36 Program 4 |
// A version with non-member output function. An overloading of operator<< #include <cmath> #include <iostream> using namespace std; class Point { private: double x, y; public: Point(double, double); Point(); double getx () const; double gety () const; void move(double, double); double distance_to(Point) const; }; Point::Point(double x_coord, double y_coord): x(x_coord), y(y_coord){ } Point::Point(): x(0.0), y(0.0){ } double Point::getx () const{ return x; } double Point::gety () const{ return y; } void Point::move(double dx, double dy){ x += dx; y += dy; } double Point::distance_to(Point p) const{ return sqrt((x - p.x) * (x - p.x) + (y - p.y) * (y - p.y)); } ostream& operator<<(ostream& s, const Point& p){ return s << "(" << p.getx() << "," << p.gety() << ")" ; } int main(){ Point p, q = Point(3.0, 4.0), r(3.0, 4.0); p.move(2,3); q.move(4,5); double d = q.distance_to(r); cout << d << endl; cout << "Point p: " << p << endl; cout << "Point q: " << q << endl; }