#include #include using namespace std; class Point { private: int _x; int _y; public: Point(); //Default constructor Point(int x, int y); //Regular constructor Point(const Point& other); //Copy constructor Point(Point&& temp); //Move constructor Point& operator = (const Point&); //Copy assignment operator overloaded Point& operator = (Point&&); //Move assignment operator overloaded ~Point(); //Destructor int x(); int y(); }; /* * Default constructor */ Point::Point(): _x(0), _y(0) {} /* * Regular constructor */ Point::Point(int x, int y): _x(x), _y(y) {} /* * Copy constructor */ Point::Point(const Point& other): _x(other._x), _y(other._y) {} /* * Move constructor */ Point::Point(Point&& temp): _x(temp._x), _y(temp._y) {} /* * Copy assignment operator overloaded function definition */ Point& Point::operator = (const Point& rhs) { if(this == &rhs) { return *this; } _x=rhs._x; _y=rhs._y; return *this; } /* * Move assignment operator overloaded function definition */ Point& Point::operator = (Point&& temp) { if(this == &temp) { return *this; } _x= temp._x; _y= temp._y; return (*this); } /* * Destructor */ Point::~Point() { cout<< "Point destructor....."<