본문 바로가기

C++ 언어/연습문제

C++ 언어 연습문제23

[문제]

아래 main문을 보고 class를 설계하라.

조건1) class에 멤버변수는 int num으로 할 것
조건2) 생성자에서 num, 객체의 주소값이 출력되도록 할 것
조건3) this를 사용할 것
int main(void)
{
	Sosimple sim1(100);
	Sosimple* ptr1 = sim1.GetThisPointer();
	cout << ptr1 << ", ";
	ptr1->ShowSimpleData();

	Sosimple sim2(200);
	Sosimple* ptr2 = sim2.GetThisPointer();
	cout << ptr2 << ", ";
	ptr2->ShowSimpleData();

	return 0;
}

 

[실행 결과]

 

[코드]

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

class Sosimple
{
private:
	int num;
public:
	Sosimple(int n) :num(n)
	{
		cout << "num=" << num << ", ";
		cout << "address=" << this << endl;
	}
	void ShowSimpleData()
	{
		cout << num << endl;
	}
	Sosimple* GetThisPointer()
	{
		return this;
	}
};

int main(void)
{
	Sosimple sim1(100);
	Sosimple* ptr1 = sim1.GetThisPointer();
	cout << ptr1 << ", ";
	ptr1->ShowSimpleData();

	Sosimple sim2(200);
	Sosimple* ptr2 = sim2.GetThisPointer();
	cout << ptr2 << ", ";
	ptr2->ShowSimpleData();

	return 0;
}

 

<참고>

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

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

C++ 언어 연습문제25  (0) 2022.10.25
C++ 언어 연습문제24  (0) 2022.10.24
C++ 언어 연습문제22  (0) 2022.10.24
C++ 언어 연습문제21  (0) 2022.10.24
C++ 언어 연습문제20  (0) 2022.10.21