Объектно-ориентированное программирование
Теоретический зачет
Типовой вариант с решениями
Задача №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
Набор типовых задач с решениями приведен в методических указаниях к выполнению РГЗ.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.