Overload unary plus operator

Write a program to overload unary plus operator.

#include<iostream>
using namespace std;
class A
{
	private:
		int x,y;
	public:
		A();
		A(int,int);
		void print();
		//A operator +();
		friend A& operator +(A&);
};
A :: A()
{
	cout << "default constructor" << endl;
}
A :: A(int a,int b):x(a),y(b)
{
	cout << "parameterized constructor" << endl;
}
#if 0
//using member function
A  A :: operator +()
{
	A temp;
	temp.x = +x;
	temp.y = +y;
	return temp;
}
#else
//using friend function
A& operator +(A& ob)
{
	static  A temp;
	temp.x = +ob.x;
	temp.y = +ob.y;
	return temp;
}
#endif
void A :: print()
{
	cout << "x = " << x << " y = " << y << endl;
}
int main()
{
	A obj1(10,20),obj2(-34,56),obj3(45,-43),obj4(-24,-86);
	obj1.print();
	obj2.print();
	obj3.print();
	obj4.print();
	obj1 = +obj1;//obj1 = obj1.operator+()
	obj2 = +obj2;
	obj3 = +obj3;
	obj4 = +obj4;
	obj1.print();
	obj2.print();
	obj3.print();
	obj4.print();
	return 0;
}

Output

parameterized constructor
parameterized constructor
parameterized constructor
parameterized constructor
x = 10 y = 20
x = -34 y = 56
x = 45 y = -43
x = -24 y = -86
default constructor
x = 10 y = 20
x = -34 y = 56
x = 45 y = -43
x = -24 y = -86