본문 바로가기

PROGRAMMING LANGUAGE/C++

+연산자,cout <<오버로딩

#include <iostream>
using namespace std;

class MyClass
{
	int num = 0;
public:
	int Get() 
	{
		return num; 
	}
	void Set(int a)
	{
		num = a;
	}
	MyClass operator+ (MyClass y)
	{
		MyClass res;
		res.num = this->num + y.num;  
		return res;       
	}
	friend ostream& operator<<(ostream& os, const MyClass& obj);
};

ostream& operator<<(ostream& os, const MyClass& obj)
{
	os << obj.num;
	return os;  
}

void main()  
{
	MyClass x; 
	x.Set(1);

	MyClass y;
	y.Set(2);

	MyClass z = x.operator+(y);
	
	cout << x + y << endl;
	
}