본문 바로가기

C++ 언어/연습문제

C++ 언어 연습문제25

[문제]

아래의 main문을 보고 클래스를 정의하라.
int main(void)
{
	SelfRef obj(3);
	SelfRef& ref = obj.Adder(2);

	obj.ShowTwoNumber();
	ref.ShowTwoNumber();

	ref.Adder(1).ShowTwoNumber().Adder(2).ShowTwoNumber();

	return 0;
}

 

[실행 결과]

객체 생성
5
5
6
8

 

[코드]

#include<iostream>
#include<cstring>
using namespace std;

class SelfRef
{
private:
	int num;
public:
	SelfRef(int n) :num(n)
	{
		cout << "객체 생성" << endl;
	}
	SelfRef& Adder(int n)
	{
		num += n;
		return *this;
	}
	SelfRef& ShowTwoNumber()
	{
		cout << num << endl;
		return *this;
	}
};

int main(void)
{
	SelfRef obj(3);
	SelfRef& ref = obj.Adder(2);

	obj.ShowTwoNumber();
	ref.ShowTwoNumber();

	ref.Adder(1).ShowTwoNumber().Adder(2).ShowTwoNumber();

	return 0;
}

 

<참고>

윤성우의 열혈 C++ 프로그래밍

'C++ 언어 > 연습문제' 카테고리의 다른 글

C++ 언어 연습문제27  (0) 2022.11.01
C++ 언어 연습문제26  (0) 2022.10.31
C++ 언어 연습문제24  (0) 2022.10.24
C++ 언어 연습문제23  (0) 2022.10.24
C++ 언어 연습문제22  (0) 2022.10.24