Тест с ответами по программированию для студентов

1.​ Дано фрагмент кода. Каким должно быть объявление переменной Z?
class racio
{
int x, int y;
void Show ();
};
……………….
z -> Show ();

— Racio z;
— Int z;
— Rasio z [10];
+ Rasio * z;

2.​ Дано объявление класса. Определить количество конструкторов и указать их.
class Point
{Int x, y;
void Show ();
Point (int xx, int yy)
Point ();
};
— 1 — Point ();
— 2 — Point (); void Show ();
+ 2 — Point (); Point (int xx, int yy)
— 1 — Point (int xx, int yy)

3.​ Дано объявление класса. Создать 2 экземпляра класса.
class Point
{Int x, y;
void Show ();
Point (int xx, int yy)
};
— Point t1, point t2 (10,50)
— Point t1, t2;
+ Point t1 (100,100), t2 (50,50)
— Point t1 (50,50) point t2;

4.​ Дано объявление класса. Создать 2 экземпляра класса.
class Point
{Int x, y;
void Show ();
};
— Point t1, point t2 (10,50)
+ Point t1, t2;
— Point t1 (100,100), t2 (50,50)
— Point t1 (50,50) point t2;

5.​ Какое свойство ООП реализована в перегрузке операторов и функций?
— Динамический полиморфизм;
+ Статический полиморфизм;
— Инкапсуляция;
— Подражание;

6.​ дано объявление
class person
{Char name [20];
int age;
void Init (char *, int);
} Y;
Предоставить возможен текст метода инициализации.
— Name = «Petrov»; age = 15;
— Strcpy (y-> name, «Petrov») y-> age = 15;
+ Strcpy (name, «Petrov») age = 15;
— Strcpy (y.name, «Petrov») y.age = 15;

7.​ дано объявление
class person
{Char name [20];
int age;
void Init (char *, int);
} X;
Предоставить переменной x конкретных значений
— X.name = «Ivanov»; x.age = 18;
— X.Init (18 «Ivanov»)
+ X.Init ( «Ivanov», 18);
— Strcpy (x.name, «Ivanov») x.age = 18
— Person X ( «Inanov», 18);

8.​ дано описание
class A
{
int n;
A () {n = 100; }
….;
} * M [5];
Какой объем памяти нужен для сохранения массива M (байт)
— 100;
— 200;
+ 20;
— 400;
— 5.

9.​ дано объявление
class person
{Char name [20];
int age;
void Init (char *, int);
};
person * y;
Предоставить переменной y конкретных значений
— Y-> name = «Petrov»; y-> age = 15;
— Strcpy (y-> name, «Petrov») y-> age = 15;
+ Y-> Init ( «Petrov», 15);
— Strcpy (y.name, «Petrov») y.age = 15;
— Y.Init ( «Petrov», 15);

10.​ Дано фрагмент кода. Которое может быть определение класса А?
A T1;
T1.Init (0.2, 1.5);

— Class A
{Float x, y; A (); };
— Class A
{Float x, y; A (float, float) };
+ Class A
{Float x, y; void Init (float, float) };
— Class A
{Float x, y; A (float, float) void Init (float, float) };

11.​ Заголовок в реализации метода имеет вид:
A :: A (char * _name, int _age) {… ..}
Каким может быть определение класса?
— Class person
{Char name [10]; int age; void Init (char *, int); };
— Class A
{Char name [10]; int age; void Init (char *, int); };
+ Class A
{Char name [10]; int age; A (char *, int); A (); };
— Class A
{Char name [10]; int age; void Init (char *, int); A (); };

12.​

13.​ Заголовок в реализации метода имеет вид:
A :: A () {… ..}
Каким может быть определение класса?
— Class A
{Char name [10]; int age; void Init (char *, int); };
— Class A
{Char name [10]; int age; A (char *, int); };
+ Class A
{Char name [10]; int age; A (char *, int); A (A &) A (); };
— Class A
{Char name [10]; int age; A (A &) }

14.​ Дано фрагмент кода, содержащий вызов метода класса:
Pro p1 (2, 5);
Cout << "F =" << setw (6) << setprecision (2) << p1.Suma () << endl; Определить прототип функции - элемента класса. - Float F (int a, int b) - Void F (int a, int b) - Float Suma (int a, int b) - Void Suma (int, int); + Float Suma (); 15.​ Дано фрагмент кода, содержащий вызов метода класса: Pro p1 (2, 5); P1.Show (); Определить прототип функции - элемента класса. + Void Show (); - Void Show (int a, int b) - Void Pro :: Show (int a, int b) - Void Show (Pro &) 16.​ Даны 2 экземпляра класса. Каким может быть его объявление? Pro P1 (2, 5), P2 (P1) - Class Pro {Int a, b; Pro (); Pro (int, int); }; - Class Pro {Int a, b; Pro (); Pro (Pro &) }; + Class Pro {Int a, b; Pro (Pro &) Pro (int, int); Pro (); }; - Class Pro {Int a, b; Pro (int, int); }; 17.​ Даны 2 экземпляра класса. Каким может быть его объявление? Pro P1, P2; - Class Pro {Int a, b; Pro (int, int); }; + Class Pro {Int a, b; void Init (int, int); }; - Class Pro {Int a, b; Pro (Pro &) Pro (int, int); }; - Class Pro {Int a, b; Pro (Pro &) }; 18.​ Дано объявление класса. Объявить экземпляр и инициализировать его. class Point { int x, y; void Init (int, int); }; - Point T; T.x = 2; T.y = 5; - Point T (2,5) + Point T; T.Init (2,5) - Point T = {2, 5}; 19.​ Дано описание класса. Определить аргументы метода. class person {Char name [20], pos [10]; int age; person (... ..) }; - (Char *, char *, int *) - (Char *, int) + (Char *, char *, int) - (Void) 20.​ Дано описание класса. Определить правильную реализацию метода. class person {Char name [20]; int age; void Init (char *, int); }; - Void Init (char * a, int b) {strcpy (name, a) age = b; } - Void Init (char * a, int b) {name = a; age = b; } + Void person :: Init (char * a, int b) {strcpy (name, a) age = b; } - Void person :: Init (char * a, int b) {name = a; age = b; } 21.​ Даны фрагменты кода, в которых создается экземпляр класса SS. В каком из вариантов явно нужен деструктор в объявлении класса? + SS * p = new SS [10]; - SS p1, * p = & p1; - SS p1, p;