언어 자료구조 알고리즘/Escort C++

[C++] 캡슐화 실습 - 구현할 실습 대상

언제나휴일 2016. 4. 15. 13:09
반응형

3. 1 구현할 실습 대상

 

3.1.1   멤버 필드

 

 이번 장에서는 2장에서 다룬 캡슐화를 여러분이 직접 구현해 보시길 바랍니다. 각자가 직접 구현을 하시고 책에 있는 내용과 비교하는 단계로 학습을 해 주시고 미리 책을 보시고 따라 하는 것은 여러분의 실력 향상에 큰 도움이 되지 못할 것입니다.



멤버 필드

[그림 3.1]

 

 이번 실습에서 구현할 Stu 클래스는 [그림 3.1]에 있는 멤버 필드와 [그림 3.2]에 있는 멤버 메서드입니다. 먼저, 정적 멤버 필드로는 가장 최근에 생성한 학생의 번호를 보관하는 last_num이 있고 비 멤버 필드로는 차례대로 부여되는 번호(num)와 생성 시 입력 인자로 전달받는 이름(name)이 있고 그 외에 체력(hp), 아이큐(iq), 스트레스(stress), 연속으로 공부한 횟수(scnt)가 있습니다. 이 중에 num은 상수 멤버 필드로 구현해 보세요.


멤버 명

설명

hp

체력, 생성 시:50, 최소:0, 최대:100

iq

아이큐, 생성 시:100, 최소:80, 최대:200

last_num

정적 멤버 필드로 초기값은 0이고 가장 최근에 생성한 학생 번호를 보관

name

이름, 생성 시 입력 인자로 전달 받음

num

번호, 자동 부여됨, 상수 멤버 필드임

scnt

연속으로 공부한 회수, 생성 시:0, 최소:0, 최대:5

공부하면 1증가, 다른 행위 시 0으로 Reset

, GetNum, GetName, View 메서드 호출 시 영향 없음

stress

스트레스, 생성 시:0, 최소:0, 최대:100

  

 










3.1.2   멤버 메서드


멤버 메서드

[그림 3.2]

 

Stu 클래스에 멤버 메서드는 public으로 노출된 것에 대해서만 제시를 하도록 하겠습니다. 이를 효과적으로 표현하는 데 필요한 멤버 메서드가 있으면 private으로 접근 지정자를 설정하여 만들어 보시기 바랍니다.

Stu 클래스에서는 이름을 입력 매개 변수로 정의한 생성자 메서드가 필요합니다그리고 지금 실습에서는 학생 내부에서 동적으로 생성하여 보관하는 개체가 없어 필요는 없지만 소멸자를 없애지 않겠습니다. 여러분께서는 소멸자가 필요 없다고 느끼시면 없애도 무관합니다.

 

  생성자와 소멸자 메서드 외에도 춤을 추다, 음료를 마시다, 강의를 듣다, 휴식을 취하다, 잠을 자다, 공부하다와 같이 멤버 필드들이 변화가 생기는 멤버 메서드와 이름을 얻어오다, 번호를 얻어오다, 정보를 보다와 같은 멤버 필드들이 변화가 생기지 않는 상수화 멤버 메서드로 구성해 보시기 바랍니다.

멤버 명

설명

~Stu

소멸자

Dance

춤을 추다.

iq: 3증가, hp: 30감소, stress: 20감소, scnt: 0으로 reset

Drink

음료를 마시다.

iq: 4감소, hp: 20감소, stress: 10 감소, scnt: 0으로 reset

GetName

상수 멤버 메서드로 정의하세요. 이름이 뭐니?

GetNum

상수 멤버 메서드로 정의하세요. 번호가 뭐니?

ListenLecture

수업을 듣는다.

iq:scnt만큼 증가, hp:10감소,

stress:20-scnt*5 증가, scnt: 0으로 reset

Relax

쉬다.

hp: 30증가, stress: 20 감소, scnt: 0으로 reset

 

Sleep

잠을 자다.

hp: 50증가, stress: 50 감소, scnt: 0으로 reset

Stu

생성자

Study

공부하다.

iq: 5-scnt증가, hp: 5감소, stress: 10 증가, scnt: 1증가

View

상수 멤버 메서드로 정의하세요. 자신의 상태를 화면에 echo하다.






 


















3장 캡슐화 습 Part1 

3장 캡슐 습 Part2 

(모든 동영상 강의는 무료입니다.)

반응형