Point类的运算

parhat2015 2017-11-22 10:18:07
定义Point类,有坐标x,y两个私有成员变量;对Point类重载“+”(相加)、“-”(相减)和“==”(相等)运算符,实现对坐标的改变,要求用友元函数和成员函数两种方法实现。对Point类重载<<运算符,以使得代码 Point p; cout<<p<<endl;可以输出该点对象的坐标。


/* 请在这里填写答案 */



int main(int argc, char const *argv[])
{
Point p1(2,3);
cout<<p1<<endl;
Point p2(4,5);
cout<<p2<<endl;
Point p3 = p1+p2;
cout<<p3<<endl;
p3 = p2-p1;
cout<<p3<<endl;
p1 += p2;
cout<<p1<<endl;
cout<<(p1==p2)<<endl;
return 0;
}

在这里给出相应的输出。例如:
2,3
4,5
6,8
2,2
6,8
0


...全文
935 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
真相重于对错 2017-11-23
  • 打赏
  • 举报
回复
这种题目还是自己做比较好
「已注销」 2017-11-23
  • 打赏
  • 举报
回复
自己填充一下代码就行了:
// member function style
class Point {
private:
	int _x;
	int _y;
public:
	Point();
	Point(int x, int y);
	const Point operator+(const Point &pt);
	const Point operator-(const Point &pt);
	const Point &operator+=(const Point &pt);
	const Point &operator-=(const Point &pt);
	bool operator==(const Point &pt) const;
	friend ostream &operator<<(ostream &out, const Point &pt);
};

// friend function style
class Point {
private:
	int _x;
	int _y;
public:
	Point();
	Point(int x, int y);
	friend const Point operator+(const Point &pt1, const Point &pt2);
	friend const Point operator-(const Point &pt1, const Point &pt2);
	friend const Point &operator+=(Point &pt1, const Point &pt2);
	friend const Point &operator-=(Point &pt1, const Point &pt2);
	friend bool operator==(const Point &pt1, const Point &pt2);
	friend ostream &operator<<(ostream &out, const Point &pt);
};

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧