반응형

학생 클래스 5

[C#] 캡슐화 - 학생 클래스 정의, 인덱서 포함

실습) 다음을 만족하는 학생 클래스를 정의하시오. *목적: 캡슐화 전체 과정 실습 *국어, 영어, 수학은 열거형으로 정의하시오. *인덱서를 이용하여 성적을 설정 및 가져오기 할 수 있게 하시오. 학생은 생성할 때 학생 이름을 전달받습니다. (그리고 학생 번호는 순차적으로 부여합니다.) 이 외에 학생의 국어, 영어, 수학 성적을 -1로 설정합니다. 학생을 생성한 후에는 학생의 국어, 영어, 수학 성적을 입력할 수 있습니다. 만약 학생 성적이 0에서 100을 벗어나면 -1로 설정합니다. 학생 이름과 번호, 각 과목의 성적과 총점 및 평균을 확인할 수 있습니다. 그리고 학생 정보를 확인하는 기능을 제공합니다. *2019년 공주대에서 소스 코드) Subject.cs namespace 캡슐화_실습3___학생_총복..

[C++] 47. 클래스에 연산자 중복 정의

이번에는 클래스 내부에 멤버 메서드로 연산자를 중복 정의하는 방법을 알아봅시다. 클래스 내부에 멤버 메서드로 연산자를 중복 정의할 때도 메서드의 이름은 operator 키워드에 연산 기호로 나타냅니다. 대신 피연산자 중에서 좌항에 오는 자기 자신은 입력 매개 변수 리스트에 열거하지 않습니다. 주의할 점은 사용하는 곳에서 피연산자의 좌항에 클래스 형식이 올 때만 동작한다는 것입니다. 교환 법칙이 성립할 때는 우항에 클래스 형식이 올 때 수행할 수 있게 전역 연산자 중복 정의도 같이 하시기 바랍니다. 다음은 전역 연산자 중복 정의에서 다루었던 학생 클래스에 == 연산자 중복 정의했던 코드를 클래스 내부에 메서드로 연산자 중복 정의하는 코드입니다. //Student.h #pragma once #include ..

[C++] 43. 상속과 다형성 최종 실습 - 파생 클래스

이제 파생 형식인 학사 학생, 운동학생, 마법학생과 진입점 main 부분을 구현합시다. 먼저 학사 학생 클래스에 필요한 멤버들을 고민해 보기로 해요.class SStudent : public Student{학사 학생은 더미 뇌가 멤버 필드로 필요합니다. int dummy;그리고 더미 뇌는 공부한 횟수가 5이 배수일 때마다 1씩 증가해야 하므로 공부한 횟수도 기억해야죠. int total_scnt;public: SStudent(string name); “공부하다.”, “강의받다.”, “잠자다.”, “휴식하다.”, “음료마시다.”, “노래하다.” 메서드를 재정의해야겠죠. virtual void Study(); virtual void ListenLecture(); virtual void Sleep(); vir..

[C++] 42. 상속과 다형성 최종 실습 - 학생

이제 상속과 다형성의 마지막 실습 시나리오를 보고 설계 및 구현해 보기로 해요. 시나리오를 보면 정의할 형식은 학생, 학사 학생, 운동학생, 마법학생이 있습니다. 학생을 기반 클래스로 정의하고 나머지 클래스는 파생 클래스로 정의하면 되겠죠.먼저 학생 클래스에 필요한 멤버들을 고민해 보기로 해요. 학생 클래스는 멤버 필드로 이름, 주민번호, 체력, 지력, 스트레스와 연속으로 공부한 횟수가 필요합니다.그리고 주민번호를 순차적으로 부여하기 위해서는 정적 멤버로 가장 최근에 부여한 주민번호가 필요하겠죠. 그리고 멤버 메서드로 “공부하다.”, “자습하다.”, “잠자다.”, “휴식하다.”, “음료마시다.”, “노래하다.”가 필요합니다. 그리고 이들 메서드는 파생 형식에 따라 멤버 필드를 변경하는 값이 달라서 순수 ..

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

3. 1 구현할 실습 대상 3.1.1 멤버 필드 이번 장에서는 2장에서 다룬 캡슐화를 여러분이 직접 구현해 보시길 바랍니다. 각자가 직접 구현을 하시고 책에 있는 내용과 비교하는 단계로 학습을 해 주시고 미리 책을 보시고 따라 하는 것은 여러분의 실력 향상에 큰 도움이 되지 못할 것입니다. [그림 3.1] 이번 실습에서 구현할 Stu 클래스는 [그림 3.1]에 있는 멤버 필드와 [그림 3.2]에 있는 멤버 메서드입니다. 먼저, 정적 멤버 필드로는 가장 최근에 생성한 학생의 번호를 보관하는 last_num이 있고 비 멤버 필드로는 차례대로 부여되는 번호(num)와 생성 시 입력 인자로 전달받는 이름(name)이 있고 그 외에 체력(hp), 아이큐(iq), 스트레스(stress), 연속으로 공부한 횟수(sc..

반응형