현재 위치 - 중국 분류 정보 발표 플랫폼 - 생활 서비스 정보 - 객체 지향 프로그래밍 2장

객체 지향 프로그래밍 2장

"객체 지향 프로그래밍" 02장 온라인 테스트

첫 번째 문제, 객관식 문제(각 1점, 5문제 ***5점)

1. AB가 클래스라고 가정하면 "AB r1=r2;" 문이 실행될 때 이 클래스의 (D)가 자동으로 호출됩니다.

A. 매개변수가 없는 생성자 B. 매개변수가 있는 생성자

C. 할당 오버로드 함수 D. 복사 생성자

2. 프로그램 정의 다음과 같습니다. 함수 f()에서 동적 객체의 멤버 n 값을 34로 변경하는 명령문은 (C) class A { int n public: setn(int nl) {n=nl;} A(int x) {n = x; } } int f() {A * ptr = 새로운 A(45);... }

A, A.n=34, ptr.setn(34);

p>

C. ptr->setn(34); D. setn(34);

3. AB가 클래스라고 가정하고 "AB p=new AB(1,2)를 실행합니다. ;" 문에서 이 클래스의 생성자가 호출되는 횟수는 (B)입니다.

A, 0 B, 1

C, 2 D, 3

4. AB가 클래스이고 px가 다음을 포함하는 클래스에 대한 포인터라고 가정합니다. n 객체의 동적 배열에 대한 포인터인 경우 "delete []px;" 문을 실행할 때 이 클래스의 소멸자가 호출되는 최대 횟수는 (C)입니다.

A, 0 B, 1

C, n D, n+1

5. AA가 클래스이고 abc가 클래스의 멤버라고 가정합니다. 함수에서 매개변수 목록의 암시적 첫 번째 매개변수는 (B)입니다.

A. abc B. this

C. this D. this&

문제 2, 객관식 문제(각 2점, 5문제 ***10) 포인트)

1. 소멸자를 정의할 때 잘못된 구문은 (BD)입니다.

A. 이름은 클래스 이름과 정확히 동일합니다.

B. 반환 유형은 void 유형입니다.

C. 보이지 않는 매개변수는 오버로드될 수 없습니다

p>

D. 함수 본문에 삭제 문이 있어야 합니다.

2. AA가 클래스이고, a가 클래스의 전용 데이터 멤버이고, GetValue()가 공용 함수 멤버라고 가정합니다. x가 이 클래스의 객체이고 x 객체의 데이터 멤버 a에 액세스하는 잘못된 명령문은 (ABC)입니다.

A. x.a

B. x.a()

C. x->GetValue()

D. x.GetValue( )

3. 생성자에 대한 다음의 설명은 정확합니다. (AB)

A. 생성자의 함수명이 클래스명과 같습니다

B. 생성 함수는 오버로드될 수 있습니다

C. 생성자는 기본 매개변수를 설정할 수 없습니다

D. 생성자는 유형 사양을 지정해야 합니다

4. 멤버 함수에 대한 다음 설명은 오류는 (ACD)입니다.

A. 클래스 정의는 함수 멤버의 함수 헤더만 설명할 수 있지만 함수 본문은 정의할 수 없습니다.

B. 클래스의 함수 멤버 클래스 본문 정의에 있거나 클래스 본문 외부에 정의될 수 있습니다.

C. 클래스의 함수 멤버가 클래스 본문 외부에 정의된 경우 클래스와 동일한 파일에 선언되어야 합니다.

D. 클래스 본문 외부에 정의된 함수 멤버는 클래스의 전용 데이터 멤버를 조작할 수 없습니다.

5. AB가 클래스라고 가정하면 "AB *s 문을 실행한 결과 =new AB(a,5);" 예(BCD)

A. 객체 AB를 동적으로 생성하고 변수 s에 할당

B. 객체 s를 동적으로 생성

C. 객체 AB a에 공용 멤버가 있는 경우 s->a는 해당 멤버에 액세스할 수 있습니다.

D. 객체 AB를 동적으로 생성하고 객체의 주소를 변수 s에 할당합니다.

세 번째 질문, 참 또는 거짓(각 질문당 1개) 점, 5개 질문 ***5점)

1. Sample 클래스의 멤버 함수가 다음과 같이 설명되는 경우 다음: Void set(Sample &a) 여기서 Sample &a는 Set() 함수의 공식 매개변수로 사용되는 샘플 객체 참조 클래스를 의미합니다. T

참 또는 거짓

2. AA가 클래스이고 a가 클래스의 공개 데이터 멤버이고 x가 클래스의 객체라고 가정한 다음 데이터 멤버에 액세스합니다. x 개체의 a 형식은 x->a입니다. F

정답 거짓

3. 정적 멤버 함수를 사용하면 클래스의 데이터 멤버에 액세스할 수 있습니다. T

True 또는 False

4. 클래스의 객체 생성 시 각 객체 멤버의 생성자를 먼저 호출하여 해당 객체 멤버를 초기화한 후 클래스의 생성자를 실행합니다. 클래스를 사용하여 다른 멤버를 초기화합니다. T

참 또는 거짓

5. 이는 각 클래스의 멤버 함수에 내재된 특수 포인터입니다. 특정 멤버 함수에 의해 작동되는 개체에 대한 포인터입니다. ㅜㅜ

맞음 틀림