重载流插入和前置与后置自增运算符
/*point类*/
#ifndef POINT_H
#define POINT_H
using namespace std;
class Point
{
friend ostream &operator<<(ostream &,const Point &);//重载<<
friend istream &operator>>(istream &,Point &);//重载>>
public:
Point(int m=0,int n=0);//构造函数
~Point();//析构函数
void showPoint()const;//显示函数
int getx()const;//获取X
int gety()const;//获取Y
Point &operator++();//重载前置的自增运算符
Point operator++(int);
private:
int x,y;//圆心坐标
};
#endif // POINT_H
/*point类函数*/
#include <iostream>
#include <iomanip>
#include "point.h"
ostream &operator<<(ostream &output,const Point &point)
{
cout <<"("<<point.x<<","<<point.y<<")";
return output;
}
istream &operator>>(istream &input,Point &point)
{
input.ignore();
input>>point.x;
input.ignore();
input>>point.y;
input.ignore();
return input;
}
Point &Point::operator++()
{
x++;
y++;
return *this;
}
Point Point::operator++(int)
{
Point temp=*this;
x++;
y++;
return temp;
}
Point::Point(int m,int n)//构造函数
{
x=m;
y=n;
}
Point::~Point()
{
}
int Point::getx()const
{
return x;
}
int Point::gety()const
{
return y;
}
void Point::showPoint()const//显示函数
{
cout <<"("<<getx()<<","<<gety()<<")";
}
/*主函数*/
#include <iostream>
using namespace std;
#include "point.h"
int main()
{
Point point;
int a,b,c,d;
cout<<"Please enter the point in the form (x,y):"<<endl;
cout<<"Please enter :";
cin>>point;
cout<<"The point entered was:";
cout<<point<<endl;
cout<<"please enter the coordinates x and y of A:"<<endl;
cin >>a>>b;
cout<<"please enter the coordinates x and y of B:"<<endl;
cin >>c>>d;
Point A(a,b);
Point B(c,d);
cout <<"test 1"<<endl;
cout<<"A is"<<A<<endl;
cout <<"++A is"<<++A<<endl;
cout <<"\ntest 2"<<endl;
cout<<"B is"<<B<<endl;
cout <<"++B is"<<++B<<endl;
cout<<"B is"<<B<<endl;
cout <<"\ntest 3"<<endl;
cout<<"B is"<<B<<endl;
cout <<"B++ is"<<B++<<endl;
cout<<"B is"<<B<<endl;
return 0;
}

#ifndef POINT_H
#define POINT_H
using namespace std;
class Point
{
friend ostream &operator<<(ostream &,const Point &);//重载<<
friend istream &operator>>(istream &,Point &);//重载>>
public:
Point(int m=0,int n=0);//构造函数
~Point();//析构函数
void showPoint()const;//显示函数
int getx()const;//获取X
int gety()const;//获取Y
Point &operator++();//重载前置的自增运算符
Point operator++(int);
private:
int x,y;//圆心坐标
};
#endif // POINT_H
/*point类函数*/
#include <iostream>
#include <iomanip>
#include "point.h"
ostream &operator<<(ostream &output,const Point &point)
{
cout <<"("<<point.x<<","<<point.y<<")";
return output;
}
istream &operator>>(istream &input,Point &point)
{
input.ignore();
input>>point.x;
input.ignore();
input>>point.y;
input.ignore();
return input;
}
Point &Point::operator++()
{
x++;
y++;
return *this;
}
Point Point::operator++(int)
{
Point temp=*this;
x++;
y++;
return temp;
}
Point::Point(int m,int n)//构造函数
{
x=m;
y=n;
}
Point::~Point()
{
}
int Point::getx()const
{
return x;
}
int Point::gety()const
{
return y;
}
void Point::showPoint()const//显示函数
{
cout <<"("<<getx()<<","<<gety()<<")";
}
/*主函数*/
#include <iostream>
using namespace std;
#include "point.h"
int main()
{
Point point;
int a,b,c,d;
cout<<"Please enter the point in the form (x,y):"<<endl;
cout<<"Please enter :";
cin>>point;
cout<<"The point entered was:";
cout<<point<<endl;
cout<<"please enter the coordinates x and y of A:"<<endl;
cin >>a>>b;
cout<<"please enter the coordinates x and y of B:"<<endl;
cin >>c>>d;
Point A(a,b);
Point B(c,d);
cout <<"test 1"<<endl;
cout<<"A is"<<A<<endl;
cout <<"++A is"<<++A<<endl;
cout <<"\ntest 2"<<endl;
cout<<"B is"<<B<<endl;
cout <<"++B is"<<++B<<endl;
cout<<"B is"<<B<<endl;
cout <<"\ntest 3"<<endl;
cout<<"B is"<<B<<endl;
cout <<"B++ is"<<B++<<endl;
cout<<"B is"<<B<<endl;
return 0;
}