중간 점검 (251p)
1. 클래스로부터 객체를 생성할 수 있는 방법을 열거하여 보라.
2. 객체 포인터로는 반드시 동적 생성된 객체만을 가리켜야 하는가?
아니다. 일반적인 정적 객체도 얼마든지 저장할 수 있다.
중간 점검 (254p)
1. this 포인터는 무엇을 가리키는가?
this는 자신을 가리키는 객체 포인터이다.
2. this 포인터가 꼭 필요한 경우는?
함수 내의 매개 변수와 멤버 변수를 구분하기 위하여 사용된다.
중간 점검 (257p)
1. 객체 선언 시에 const가 붙으면 어떤 의미인가?
이 객체를 통해서는 멤버 변수의 값을 변경할 수 없다.
2. 멤버 변수 getGear()에 const를 붙여보라. 어떤 의미인가?
getGear()를 통하여 멤버 변수의 값을 변경할 수 없다.
중간 점검 (259p)
1. = 연산자를 이용하여 하나의 객체를 다른 객체에 대입할 수 있는가?
같은 타입의 객체끼리는 대입 연산이 가능하다.
2. == 연산자를 이용하여 하나의 객체와 다른 객체를 비교할 수 있는가?
비교할 수 없고 오류가 발생한다.
중간 점검 (265p)
함수 안에서 매개 변수로 전달받은 객체의 내용을 수정하려면 매개 변수를 어떤 타입으로 선언하여야 하는가?
2. 매개 변수로 포인터와 참조자를 사용하는 경우를 비교하여 보자.
중간 점검 (274p)
1. 정적 변수는 어떤 경우에 사용하면 좋은가?
클래스의 모든 객체가 하나의 변수를 공유해야 할 경우
2. 정적 변수나 정적 멤버 함수를 사용할 때, 클래스 이름을 통하여 접근하는 이유는 무엇인가?
객체가 없으므로 클래스의 이름을 객체처럼 사용하여 호출한다.
3. 정적 멤버 함수 안에서 인스턴스 멤버 함수를 호출할 수 없는 이유는 무엇인가?
정적 멤버 함수는 객체가 생성되지 않은 상태에서 호출되는 멤버 함수이기 때문이다.
중간 점검 (278p)
1. 객체 배열의 원소를 초기화하는데 클래스 생성자를 사용할 수 있는가? 예를 들어 설명하라.
사용할 수 있다.
Car objArray[3] = {
Car(0, 1, “white”),
Car(0, 1, “red”),
Car(0. 1, “blue”),
};
중간 점검 (280p)
사용 관계와 포함 관계는 어떻게 다른가?
사용 관계는 하나의 클래스가 다른 클래스를 사용하고 포함 관계는 하나의 클래스가 다른 클래스를 포함한다.
2. 사용 관계와 포함 관계의 예를 더 들어보자.
사용 관계: ClassA::func()
{
ClassB obj; // 사용 관계
obj.func();
}
포함 관계: Class AlarmClock {
private:
Time currentTime; // 현재 시각 ← 객체 안에 다른 객체가 포함된다.
Time alarmTime; // 알람 시각
'C++' 카테고리의 다른 글
[C++] C++ ESPRESSO 중간점검 2-9 (0) | 2022.04.03 |
---|---|
[C++] C++ ESPRESSO 중간 점검 2-8 (0) | 2022.04.02 |
[C++] C++ ESPRESSO 중간 점검 2-6 (0) | 2022.03.31 |
[C++] C++ ESPRESSO 중간 점검 2-5 (0) | 2022.03.30 |
[C++] C++ ESPRESSO 중간 점검 2-4 (0) | 2022.03.29 |