PROGRAMMING LANGUAGE/C++

프렌드 함수

JC0 2021. 11. 17. 20:20
#include <iostream>
using namespace std;

class MyClass
{
	int num = 0;
public:
	MyClass() {}
	MyClass(int a) : num(a) {}
	void Show() { cout << num << endl; }

	friend MyClass& AddOnePrefix(MyClass& obj);
	friend MyClass AddOnePostfix(MyClass& obj);
};  

MyClass& AddOnePrefix(MyClass& obj)
{
	++obj.num;  
	return obj;    
}
MyClass AddOnePostfix(MyClass& obj)
{
	MyClass temp;
	temp = obj;
	++obj.num;
	return temp;
}

int main()
{
	MyClass x(10), y(10);
	MyClass z;  
	z = AddOnePrefix(x); z.Show(); x.Show();
	z = AddOnePostfix(y); z.Show(); y.Show();
	return 0;
}