Теоретический зачет по дисциплине "Объектно-ориентированное программирование" (Типовой вариант с решениями)

Страницы работы

Содержание работы

Объектно-ориентированное программирование

Теоретический зачет

Типовой вариант с решениями

Задача №1. Укажите ошибочные строки в функции main среди отмеченных буквами А, Б, В, Г, Д, Е.

class Stack1 {protected: int top; . . .};

class Stack2 {public: int top; . . .};

class Stack3 {private: int top; . . .};

struct St {int top; . . .};

class Stack4 {int top; . . .};

main( ) {

            Stack1 S1; Stack2 S2; Stack3 S3; St S; Stack4 S4; int top;

. . .

S1.top++; // А

. . .

S2.top++; // Б

. . .

S3.top++; // В

. . .

S.top++; // Г

. . .

S4.top++; // Д

. . .

top++; // Е

. . .

}

Ответ: А, В, Д.

Задача № 2. Укажите, какие из пар абстракций

А. относятся к иерархии типа «является»,

Б. относятся к иерархии типа «имеет»,

В. не относятся к иерархиям типа «является» и «имеет».

1. «Компьютер» – «Процессор»

2. «Дерево» – «Береза»

3. «Растение» – «Корень»

4. «Пчела» – «Цветок»

5. «Автомобиль» – «Колесо»

6. «Цветы» – «Розы»

Ответ:

А. 2, 6

Б. 1, 3, 5

В. 4

Задача № 3. Что напечатает программа.

class Point {public: static int count;. . .};

int Point :: count=0;

main( ) { Point P1, P2;

. . .

P1.count =1; P2.count =2;

printf("%d\n", P2.count); 

P1.count++;

printf("%d\n", P1.count); 

}

Ответ:

2

3

Задача № 4. Укажите ошибочные строки в функции main среди отмеченных буквами А, Б, В, Г, Д, Е.

class Transport // Транспортное средство

{public:          char* Registration_Number; // регистрационный номер

};

class Land_Transport: public Transport { // Сухопутное транспортное средство

public: int Shaft; // ведущая ось

};

class Water_Transport: public Transport { // Водное транспортное средство

public: int Displacement; // водоизмещение

};

class Amphibia: public Land_Transport, public Water_Transport {}; // Амфибия

main( ) {

Amphibia amph;

. . .

amph.Shaft; // А

amph.Displacement; // Б

amph.Water_Transport :: Displacement; // В

amph.Registration_Number; // Г

amph.Water_Transport :: Registration_Number; // Д

amph.Transport :: Registration_Number; // Е

 }

Ответ: Г, Е.

Задача № 5. Укажите ошибочные строки в функции main среди отмеченных буквами А, Б, В, Г, Д, Е.

class Shape {. . .}S;

class Circle: public Shape {. . .}C;

class SolidCircle: Circle {. . .}SC;

class Square: Shape {. . .}SQ;

main( ) {

. . .

S=C; // А

C=S; // Б

C=SC; // В

SC=C; // Г

S=SQ; // Д

SC=SQ; // Е

}

Ответ: Б, В, Г, Д, Е.

Задача № 6. Что напечатает программа.

class Base { public:  

void virtual info1 ( ){printf("Base1\n");}

void info2 ( ){printf("Base2\n");}

};

class Child : public Base { public:   

void virtual info1 ( ){printf("Child1\n");}

void info2 ( ){printf("Child2\n");}

};

main( ) {

Base B, *PB;

Child C;

. . .

PB = &B; PB->info1( );

PB = &C; PB->info1( ); PB->info2( );

B=C; B.info1( );

            }

Ответ:

Base1

Child1

Base2

Base1

Задача № 7

Набор типовых задач с решениями приведен в методических указаниях к выполнению РГЗ.

Похожие материалы

Информация о работе