본문 바로가기

전체 글

(115)
[C++] C++ ESPRESSO 중간 점검 2-7 중간 점검 (251p) 1. 클래스로부터 객체를 생성할 수 있는 방법을 열거하여 보라. 2. 객체 포인터로는 반드시 동적 생성된 객체만을 가리켜야 하는가? 아니다. 일반적인 정적 객체도 얼마든지 저장할 수 있다. 중간 점검 (254p) 1. this 포인터는 무엇을 가리키는가? this는 자신을 가리키는 객체 포인터이다. 2. this 포인터가 꼭 필요한 경우는? 함수 내의 매개 변수와 멤버 변수를 구분하기 위하여 사용된다. 중간 점검 (257p) 1. 객체 선언 시에 const가 붙으면 어떤 의미인가? 이 객체를 통해서는 멤버 변수의 값을 변경할 수 없다. 2. 멤버 변수 getGear()에 const를 붙여보라. 어떤 의미인가? getGear()를 통하여 멤버 변수의 값을 변경할 수 없다. 중간 점검..
[C++] C++ ESPRESSO 중간 점검 2-6 중간점검 (214p) 만약 클래스 이름이 MyClass라면 생성자의 이름은 무엇이어야 하는가? MyClass () 2. 생성자의 반환형은 무엇인가? 값을 반환하지 않는다. 3. 생성자는 중복 정의가 가능한가? 중복 정의될 수 있다. 4. 클래스 안에 생성자를 하나도 정의하지 않으면 어떻게 되는가? 자동적으로 비어있는 디폴트 생성자가 하나 만들어진다. 디폴트 생성자는 몸체가 비어 있기 때문에 실행 결과에 아무런 영향을 끼치지 않는다. 중간 점검 (216p) 1. 만약 클래스 이름이 MyClass라면 소멸자의 이름은 무엇이어야 하는가? ~MyClass () 2. 소멸자의 반환형은 무엇인가? 값을 반환하지 않는다. 3. 소멸자는 중복 정의가 가능한가? 소멸자는 매개 변수를 받지 않으며 따라서 중복 정의도 불가..
[C++] C++ ESPRESSO 중간 점검 2-5 중간 점검 (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() { sy..
[C++] C++ ESPRESSO 중간 점검 2-4 중간 점검 (131p) 1. 다음과 같은 실제 세계의 객체에서 객체의 가능한 상태와 객체가 수행할 수 있는 동작을 정리하여 보자. 객체 상태 동작 전구 조명, 유리알 빛을 내기, 빛을 끄기 라디오 안테나, 스피커 소리 내기, 소리 끄기 강아지 발 네 개, 꼬리 짖기, 꼬리 흔들기 자전거 바퀴 두 개, 안장 출발하기, 정지하기 사자 갈기, 몸무게 100~250kg 먹기, 자기 중간 점검 (132p) 객체들은 메시지(message) 전달을 통해서 서로 간에 상호 작용을 한다. 2. 자동차 객체에서 생각할 수 있는 메시지와 매개 변수에 대하여 나열하려 보라. speed, gear, color 중간점검 (138p) 객체 지향 프로그래밍은 객체들을 조합하여서 프로그램을 작성하는 기법이다. 2. 객체 지향 프로그래..
[C++] C++ ESPRESSO 중간 점검 1-3 중간 점검 (89p) n개의 원소를 가지는 배열의 경우, 첫 번째 원소의 번호는 무엇인가? 0 2. n개의 원소를 가지는 배열의 경우, 마지막 원소의 번호는 무엇인가? n-1 3. 배열의 크기보다 더 큰 인덱스를 사용하면 어떻게 되는가? 그 메모리를 다른 영역에서 할당 받아 사용하고 있을 수 있기 때문에 사용하면 안된다. 가능 할 수 있지만 대부분 시스템 오류를 유발한다. 4. 배열 a[6]의 원소를 1, 2, 3, 4, 5, 6으로 초기화 하는 문장을 작성하라. a[6] = {1, 2, 3, 4, 5, 6}; 5. 배열의 초기화에서 초기값이 개수가 배열 원소의 개수보다 적은 경우에는 어떻게 되는가? 또 반대로 많은 경우에는 어떻게 되는가? 배열이 초기값의 개수가 배열 원소의 개수보다 적은 경우에는 앞에..
[C++] C++ ESPRESSO 중간 점검 1-2 중간 점검(45p) 1. 변수 n의 값이 100보다 크거나 같으면 "large", 100보다 작으면 " small"을 출력하는 if-else문을 작성하라. if (n >= 100) { cout 0) { n = n - 2; if (n == 6) { break; } cout
[C++] C++ ESPRESSO 중간 점검 1-1 중간 점검 (21p) 변수와 상수의 차이점은 무엇인가? 변수는 값 변경이 가능하고, 상수는 값 변경이 불가능하다. 2. 변수와 자료형의 관련성은 무엇인가? 변수의 자료형을 보고 CPU가 프로그램내에서 몇바이트를 읽어들여 해석할지를 결정한다. 3. 왜 정수를 하나의 타입으로 하지 않고 char, int, short, long 등 여러가지 타입으로 나눠놓은 이유는 무엇인가? 메모리 낭비를 줄이기 위해서. 4. 부호가 없는 unsigned int형의 변수에 음수를 넣으면 어떤 일이 벌어지는가? underflow가 일어난다. 5. 변수가 저장할 수 있는 한계를 넘어서는 값을 저장하면 어떻게 되는가? overflow가 일어난다. 6. 숫자값을 직접 사용하는 것보다 기호 상수를 사용하는 것의 이점은 무엇인가? 값 ..
[C++] 클래스를 이용한 파일입출력 score.txt 파일을 읽어서 아래의 조건을 만족하면서 합계와 평균을 구하는 프로그램을 작성하세요. 조건 1. student클래스를 정의하세요. 2. 멤버변수는 학번, 이름, 성적 3. 객체배열을 사용하세요. 4. while()문과 을 사용하세요. 5. 설정자, 접근자 등도 정의하세요. #include #include #include using namespace std; class Student { //2. 멤버변수는 학번, 이름, 성적 string number; string name; int score; public: //5. 설정자, 접근자 등도 정의 void setStudent(string number, string name, int score) { this->number = number; thi..