简单的重载

#include<iostream>
using namespace std;
class A
{
	private:
		int x;
	public:
		A(int x1=0):x(x1)
		{
		}
		A operator +(A &a1)//类名 operator +-*/(类名 & 对象名) 
		{
			A a;//新设置一个对象 
			a.x=x+a1.x;//新对象的数据=类的数据+老对象的数据 
			return a;
		}
		A operator -(A &a1)
		{
			A a;
			a.x=x-a1.x;
			return a;
		}
		A operator *(A &a1)
		{
			A a;
			a.x=x*a1.x;
			return a;
		}
		A operator /(A &a1)
		{
			A a;
			a.x=x/a1.x;
			return a;
		}
		A operator ++()
		{
			++x;
			return *this;
		}//前置++操作符的重载
		A operator ++(int)
		{
			A a(x);
			x++;
			return a;
		}//后置++的重载 
		A operator --()
		{
			return --x;
			return *this;
		} 
		bool operator >(A &a1)
		{
			return x>a1.x;
		} 
		bool operator ==(A &a1)
		{
			return x==a1.x;
		} 
		int show()
		{
			return x;
		}
};
int main()
{
	A a(12),b(12),c;
	c=a+b;
	cout<<c.show()<<endl;
	if(a>b)
	cout<<"a>b"<<endl;
	else
	cout<<"a<b"<<endl;
	c=a-b;
	cout<<c.show()<<endl;
	c=a*b;
	cout<<c.show()<<endl;
	c=a/b;
	cout<<c.show()<<endl;
	if(a==b)
	cout<<"ok"<<endl;
	else
	cout<<"NO"<<endl;
	//c=a++;
	//cout<<c.show()<<endl;//结果为12 不显示表示 
	c=++a;
	cout<<c.show()<<endl;
	c=--b;
	cout<<c.show()<<endl;
}

猜你喜欢

转载自blog.csdn.net/qq_40916491/article/details/85133680