⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 10_82.cpp

📁 《c++程序设计技能百练》源代码,内有99个实例。
💻 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 + -