과목 구분 없음9급 지방직 공무원 컴퓨터일반 · 2021년06월05일 · 10/20
10.다음 C++ 프로그램의 실행 결과로 옳은 것은?

1
21정답
2
22
3
30
4
31
해설
해당 코드를 분석하면 다음과 같습니다. 클래스는 정수형 변수 _id와 정적 정수형변수 _cnt를 가지고 있다. Student 클래스의 생성시 아무 값도 입력되지 않으면 생성자를 통해 Student(0)으로 대체한다. Student 클래스 생성시 값이 입력되면 그 값은 _id에 저장한다. 만약 _id의 값이 0보다 크면 _cnt의 값을 1 증가 한다. 정적 멤버 함수 print 실행시 _cnt의 값을 출력한다. 멤버함수 printID 실행시 _id의 값을 1 더한 후 출력한다. 이를 실행하면 다음과 같습니다. Student A(2)가 실행 -> _id : 2, _cnt = 1 Student B가 실행 -> _id : 0, _cnt = 1 Student C(4)가 실행 -> _id : 4, _cnt = 2 Student D(-5)가 실행 -> _id : -5, _cnt = 2 Student E가 실행 -> _id : 0, _cnt = 2 Student::print()가 실행 -> Student클래스에 저장된 _cnt의 값(2)이 출력 E.printID()가 실행 -> 클래스 E의 _id의 값(0)에 1더한 후 출력 위의 출력 함수들에서는 개행 문자나 개행 명령이 없으므로 2와 1이 붙어서 출력 됩니다. 출력결과 21