아시는분한테 학생관리프로그램이라고 해서 만들어진 코드를 받았는데 중간에 이해가 안 되는 부분이 있어서요...
#include "StudentControl.h"
StudentControl::StudentControl()
{
}
StudentControl::~StudentControl()
{
}
void StudentControl::inputStudent(Student student) {
studentList[count] = student;
count++;
cout << "입력완료!" << endl;
}
void StudentControl::deleteStudent() {
// 배열에 값이 있는경우만 삭제
if (count != 0) {
// 학생배열 끝에서부터 삭제
studentList[count - 1] = studentList[count];
count--;
}
else {
cout << "학생 데이터가 존재하지 않습니다" << endl;
}
}
void StudentControl::inqStudent() {
cout << "==============================" << endl;
cout << "=== 학생 목록 조회" << endl;
cout << "==============================" << endl;
for (int i = 0; i < count; i++) {
cout << "학생" << i << " 이름 : " << studentList[i].getName() << endl;
cout << "학생" << i << " 나이 : " << studentList[i].getAge() << endl;
cout << "학생" << i << " 학번 : " << studentList[i].getStudentId() << endl << endl;
}
}
studentList[count] = student; 이게 무슨 말인지 모르겠습니다.. 참고로 count는 헤더파일 만들때 StudentContro 클래스에 int count = 0; 으로 해놨더라구요
학생관리 프로그램 귀엽노
studentList 배열의 제일 마지막 요소(count)에 새로운 student 를 할당시키겠다는 뜻임. 코드가 생략된게 많지만 studentList 배열이 저 프로그램에서 관리하는 학생관리 배열이고 main함수에서 저 배열을 count보다 크게 할당해 놨을 것이다
StudentControl 클래스로 들어가보니 Student*studentList = new Student[100]; int count = 0; (Student는 클래스 이름입니다) 이런식으로 나오네요 여기서 마지막 요소(count)에 student를 할당시켜서 학생을 입력시키겠다는 코드이다! 이렇게 이해를 했는데 잘 이해한게 맞을까요??
그래 시작은 count = 0 이라서 첫번쨰에는 studentList[0] 에 새로운 student 가 들어가겠지만 할당한 이후에 count++ 로 1로 증가하고 그 담에는 studentList[1] 에 새로운게 할당되는 것이다. deleteStudent 를 하게되면 젤 마지막 요소부터 지우고 count-- 를 하고 있구나
아아 감사합니다 이해하는데 도움이 많이 되었습니다!!! 주말 잘보내세요!!