📄 10_82.cpp
字号:
#include<iostream.h>
class point
{
int x,y;
public:
point(){x=y=0;}
point(int i,int j){x=i;y=j;}
point(point &p){x=p.x;y=p.y;} //此语句可省略,想想为什么
~point(){}
void offset(int i,int j){x+=i; y+=j;}
void offset(point);
bool operator==(point);
void operator+=(point);
point operator+(point);
int getx(){return x;}
int gety(){return y;}
point& operator++(); //声明前缀单目运算符重载函数
point operator++(int); //声明后缀单目运算符重载函数
void print(){cout<<"The point is ("<<x<<","<<y<<")\n";}
};
void point::offset(point p)
{
x+=p.getx(); y+=p.gety();
}
bool point::operator ==(point p)
{
if (x==p.getx()&&y==p.gety())
return true;
else
return false;
}
void point::operator+=(point p)
{
x+=p.getx();y+=p.gety();
}
point point::operator +(point p)
{
this->x+=p.x; this->y+=p.y;
return *this;
}
point& point::operator++()
{
x++; y++;
return *this;
}
point point::operator++(int)
{
point temp=*this;
++ this->x; ++ this->y; //++ *this;
return temp;
}
void main()
{
point obj,obj1(3,4),obj2(5,6),obj3(obj2),obj4;
obj.print(); obj1.print(); obj2.print(); obj3.print();
obj++; obj.print();
++obj; obj.print();
cout<<"\n";
obj1.offset(10,10);obj1.print();
obj1.offset(obj2);obj1.print();
if(obj2==obj1)
cout<<"The obj2 is equal to obj1 !"<<endl;
else
cout<<"The obj2 isn't equal to obj1 !"<<endl;
obj1+=obj2;obj1.print();
obj+obj1;obj.print();obj1.print();
cout<<endl;
obj4=obj+obj1+obj2+obj3; obj4.print();obj.print();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -