본문 바로가기

PROGRAMMING LANGUAGE/C++

프렌드 함수

#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;
}

'PROGRAMMING LANGUAGE > C++' 카테고리의 다른 글

explicit - 명시적형변환(자동형변환을 금지한다)  (0) 2021.11.18
복사 생성자  (0) 2021.11.18
Buyer Seller 함수 구현  (0) 2021.11.12
함수의 Default 매개변수  (0) 2021.11.11
const 함수 이용  (0) 2021.11.11