c++题目 定义Point类

定义Point类,有坐标x,y两个成员变量,对Point类重载“++”(自增),”--”(自减)运算符,实现对坐标值的改变包含前置与后置... 定义Point类,有坐标x,y两个成员变量,对Point类重载 “++” (自增),”--”(自减)运算符,实现对坐标值的改变
包含前置与后置
展开
 我来答
希茜Cqa68
2009-05-26 · TA获得超过1238个赞
知道小有建树答主
回答量:860
采纳率:0%
帮助的人:1077万
展开全部
#include <iostream>
using namespace std;
/*
定义Point类
有坐标x,y两个成员变量,
对Point类重载 “++” (自增),”--”(自减)运算符,实现对坐标值的改变
包含前置与后置
*/
class Point{
public:
Point(){ }
Point(int x,int y);
~Point(){ }
Point& operator++();//对应于++a
Point operator++(int);//对应于a++
Point& operator--();//对应于--a
Point operator--(int);//对应于a--
friend ostream& operator<<(ostream& out, const Point& a);//友元函数cout<<a
friend void operator>>(istream&in, Point& a);//友元函数cin>>a
public:
int x;
int y;
};

Point::Point(int x,int y){
this->x=x;
this->y=y;
}

Point& Point::operator++(){//++a
this->x++;
this->y++;
return *this;
}

Point Point::operator++(int){//a++
Point tmp(this->x,this->y);
this->x++;
this->y++;
return tmp;
}

Point& Point::operator--(){//--a
this->x--;
this->y--;
return *this;
}

Point Point::operator--(int){//a--
Point tmp(this->x,this->y);
this->x--;
this->y--;
return tmp;
}

ostream& operator<<(ostream& out, const Point& a){//友元函数cout<<a
out<<"点为:("<<a.x<<","<<a.y<<")"<<endl;
return out;
}

void operator>>(istream&in, Point& a){//友元函数cin>>a
int px,py;
cout<<"输入x:"; cin>>px;
cout<<"输入y:"; cin>>py;
a.x=px;
a.y=py;
}

void main()
{
cout<<"第一次运行速度有点慢^_^"<<endl;
Point a;
cin>>a;
cout<<a;

//cout<<"a++:"<<a++;
cout<<"++a:"<<++a;
//cout<<"a--:"<<a--;
//cout<<"--a:"<<--a;

}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tknkdiger
2009-05-26 · 超过50用户采纳过TA的回答
知道小有建树答主
回答量:161
采纳率:0%
帮助的人:184万
展开全部
++/-- 怎么改变坐标值? x 和 y同时改变?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式