언어 자료구조 알고리즘/디딤돌 C++

22. 캡슐화 최종 실습 - 시나리오

언제나휴일 2016. 1. 27. 19:55
반응형
안녕하세요. 언제나 휴일, 언휴예요.
이번에는 캡슐화에서 다룬 내용을 이용하는 최종 실습을 해 보아요.
먼저 시나리오를 살펴보세요.

 

이번에는 단계별로 캡슐화를 실습해 보기로 해요. 여러분께서는 각 단계별로 먼저 직접 해 본 후에 비교하시기 바랍니다.
 
여기에서는 다음의 시나리오를 캡슐화 실습할 거예요.
 
다음 내용처럼 학생 데이터를 정의하시오.
1. 멤버 필드
 주민번호: 순차적 부여
 이름: 생성 시 전달
 지력:100(최소 0, 최대 200)  
 체력: 100 (최소 0, 최대 200)
 스트레스: 0 (최소 0, 최대 100)
 연속으로 공부한 횟수: 0 (0,5), 공부를 하면 1 증가, 그 외의 행위를 하면 0으로 리셋, scnt로 부름
2. 명령할 수 있는 메서드(접근 지정이 public)
 공부하다(체력 5소모, 지력: scnt 만큼 증가, 스트레스: 2감소)
 강의를 받다.(체력 3소모, 지력: scnt 만큼 증가, 스트레스: scnt 만큼 증가)
 잠자다.(체력 10회복, 스트레스: 5감소)
 휴식하다.(체력 3회복, 스트레스: 25감소)
 음료를 마시다.(체력 5회복, 지력:  10감소 , 스트레스: 2증가)
 노래하다.(체력 10 소모, 지력: 5-scnt감소, 스트레스: 5-scnt증가)
 이름 가져오기, 주민번호 가져오기,지력 가져오기, 체력 가져오기, 스트레스 가져오기
 * 가져오기에서는 scnt를 변화시키지 않습니다.
 
실습은 다음과 같은 단계로 진행할 거예요.
1. 멤버 필드 결정하기
시나리오를 보고 학생 클래스에 필요한 멤버 필드의 형식과 유형(비정적 멤버, 정적 멤버, 상수화 멤버 필드 등)을 결정하세요.
2. 멤버 메서드 결정하기
시나리오를 보고 멤버 메서드 이름과 입력 인자 리스트, 반환 형식을 정의하세요.
3. 테스트 코드 작성하기
학생 클래스를 제대로 작성한 것인지 확인하는 테스트 코드를 작성하세요.
4. 멤버 메서드 구현하기
실제로 학생 클래스의 멤버 메서드를 구체적으로 구현하세요.

반응형