다음 코드의 실행 결과로 올바른 것은?
다음 코드의 실행 결과로 올바른 것은?
#include <iostream>
using namespace std;
class Calculator {
private:
int value;
public:
Calculator(int v) {
value = v;
}
void add(int num) {
value += num;
}
int getValue() {
return value;
}
};
int main() {
Calculator calc(5);
calc.add(3);
calc.add(2);
cout << calc.getValue() << endl;
return 0;
}
정답: C
⦁ 이 문제는 C++의 클래스, 생성자, 접근 제어자, 멤버 함수의 개념을 종합적으로 다룹니다
⦁ 코드 실행 과정:
1.
Calculator calc(5);
- 생성자를 통해 value가 5로 초기화됩니다2.
calc.add(3);
- value에 3을 더해서 8이 됩니다3.
calc.add(2);
- value에 2를 더해서 10이 됩니다4.
calc.getValue()
- 최종 value 값인 10을 반환합니다핵심 개념:
⦁
private
멤버는 클래스 외부에서 직접 접근할 수 없습니다⦁
public
멤버 함수를 통해서만 private 멤버에 접근 가능합니다⦁ 생성자는 객체가 생성될 때 자동으로 호출되어 초기화를 담당합니다
⦁ 이러한 캡슐화가 객체지향 프로그래밍의 핵심 원리 중 하나입니다
💡 학습 팁
이 문제를 포함한 C++ 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.