중간 점검 (165p)
1. 객체들을 만드는 설계도에 해당되는 것이 클래스(이)다.
2. 클래스 선언 시에 클래스 안에 포함되는 것은 멤버 변수(필드)(와)과 멤버 함수(메소드)(이)다.
3. 객체의 멤버에 접근하는데 사용되는 연산자는 도트(.)(이)다.
4. 강아지를 나타내는 클래스를 작성하여 보라. 강아지의 이름, 종, 색깔 등을 멤버 변수로 지정하고 짖기, 물기, 먹기 등의 멤버 함수를 정의하여 보라.
class Dog {
public:
string name;
string breed;
string color;
void barking() {
system.out.println(“짖기”);
}
void biting() {
system.out.println(“물기”);
}
void eating() {
system.out.println(“먹기”);
}
}
5. 동적 메모리 할당을 이용하여 otherCar를 생성하는 문장을 써보아라.
6. 객체 포인터 p를 통하여 getSpeed() 멤버 함수를 호출하는 문장을 써보아라.
중간 점검 (169p)
1. 접근 제어 지시어인 private과 public을 설명하라.
private은 클래스 내부에서만 접근이 허용되고 public은 다른 모든 클래스들이 사용 가능함
2. 아무런 접근 제어 지시어를 붙이지 않으면 어떻게 되는가?
디폴트로 모든 멤버가 private가 된다. 따라서 클래스의 외부인 main()에서 이들 멤버들을 사용하면 오류가 발생한다.
중간 점검 (173p)
1. 접근자와 설정자 함수를 사용하는 이유는 무엇인가?
① 가장 중요한 이유는 정보 은닉이다.
② 설정자에서 매개 변수를 통하여 잘못된 값이 넘어오는 경우, 이를 사전에 차단할 수 있다.
③ 멤버 변수값을 필요할 때마다 계산하여 반환할 수 있다.
④ 접근자만을 제공하면 자동적으로 읽기만 가능한 멤버 변수를 만들 수 있다.
2. 강아지(종, 나이, 몸무게)를 클래스로 모델링하고 각 멤버 변수에 대하여 접근자와 설정자를 작성하여 보라.
중간 점검 (179p)
1. 멤버 함수는 클래스의 외부에서 정의될 수 있는가?
클래스 안에는 멤버 함수의 원형만을 정의하고 함수의 본체는 외부에 따로 작성하면 된다.
2. 멤버 함수는 별도의 소스 파일에서 정의될 수 있는가?
정의될 수 있다.
중간 점검 (181p)
Car 클래스에서 setColor() 멤버 함수를 중복 정의하여 보자. 문자열과 정수로 색상을 지정할 수 있도록 하여 보자.
중간 점검 (185p)
Car 클래스를 테스트하는 클래스인 CarTest 클래스를 작성하여 보자. CarTest 클래스 안에서는 Car 클래스의 객체를 생성하여 테스트한다. 이 관계를 UML의 클래스 다이어그램으로 표현하여 보라.
중간 점검 (187p)
구조체와 클래스의 단 하나 차이점은 무엇인가?
클래스에서 멤버 함수를 제외하면 구조체가 된다. 반대로 구조체에 함수를 추가하여 확장하는 것이 클래스가 된다.
'C++' 카테고리의 다른 글
[C++] C++ ESPRESSO 중간 점검 2-7 (0) | 2022.04.01 |
---|---|
[C++] C++ ESPRESSO 중간 점검 2-6 (0) | 2022.03.31 |
[C++] C++ ESPRESSO 중간 점검 2-4 (0) | 2022.03.29 |
[C++] C++ ESPRESSO 중간 점검 1-3 (0) | 2022.03.28 |
[C++] C++ ESPRESSO 중간 점검 1-2 (0) | 2022.03.27 |