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

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;