c++题目 定义Point类
定义Point类,有坐标x,y两个成员变量,对Point类重载“++”(自增),”--”(自减)运算符,实现对坐标值的改变包含前置与后置...
定义Point类,有坐标x,y两个成员变量,对Point类重载 “++” (自增),”--”(自减)运算符,实现对坐标值的改变
包含前置与后置 展开
包含前置与后置 展开
2个回答
展开全部
#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;
}
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;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
++/-- 怎么改变坐标值? x 和 y同时改变?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |