Тест по курсу ООАиП 2021_011. Экзаменационный тест по дисциплине Объектноориентированный анализ и программирование
Скачать 98 Kb.
|
|
P1. | P2. |
Найдите верное соответствие фрагмента и результата
А. Ф1– Р1 Ф2– Р2 В. Ф1– Р2 Ф2 – нет ответа С. Ф1 – Р1 Ф2 – нет ответа D. Ф1– Р2 Ф2 – Р1
9. Какая функция, не являющаяся методом класса, имеет доступ к его защищенным элементам?
A. Шаблонная. B. Полиморфная. C. Виртуальная. D. Дружественная.
10. Какой из перечисленных методов может быть конструктором для класса TString в языке С++?
A. TString * TString (); B. TString (int х); C. void TString (); D. const TString (int a);
11. Назовите принцип объектно-ориентированного программирования, который заключается в объединении полей и методов объекта с целью обеспечения сохранности данных.
A. Наследование. B. Сочетание. C. Инициализация. D. Инкапсуляция.
12. Вызовет ли данный код ошибку компиляции?
class Rectangle {public: int a, b; int sum ();
int square (); Rect (); };
A. Ошибки нет, все записано верно.
B. Ошибка: никакой из идентификаторов в С ++ не может начинаться со знака «».
C. Ошибка: имя деструктора не может начинаться с маленькой буквы.
D. Ошибка: имя деструктора должно совпадать с именем класса.
13. Что будет выведено на экран по окончанию программы?
class A { public: A(){this->_num = 0;}
A(int num){this->_num = num; cout<
A(){cout<
private: int _num; };
int main(void){ A val(4); return 0; }
A. Ничего выведено не будет, т. к. поле “int _num“ скрыто от конструктора;
B. 4; C. 44;
D. Ничего выведено не будет, т. к. имя поля не должно начинаться с нижнего подчёркивания;
14. Какой из вариантов записи абстрактного класса в С++ является правильным?
A. abstract class A {virtual int f () = 0;}; B. class A {virtual int f ();};
C. class A {virtual int f () = 0;} abstract; D. class A {virtual int f ()= 0;};
15. Укажите правильный вариант доступа к элементам класса (язык С ++), описанных следующим образом:
class my {
char s;
public: double Z;
int f (int c, int d) {return c + d;};
} T1, T2;
A. T2-> f (2,1); B. T1.s = ‘#’; C. T1.Z = 23.1; D. my.T2-> s = ‘L‘;
16. Выберите верное утверждение о деструкторе класса в С ++.
A. Деструктор не содержит параметров.
B. Деструктор принимает в качестве параметра адрес того объекта, который нужно уничтожить.
C. Деструктор принимает в качестве параметра указатель this.
D. Деструктор принимает в качестве параметра тот объект, который нужно уничтожить.
17. Каким является модификатор доступа к элементу класса по умолчанию?
A. public; B. protected; C. private; D. static;
18. Дана программа:
class X { protected: int x; public: X(): x(0){cout<<" x="< X(int i):x(i) { cout<< " x="< class Y: public X { protected: int y; public: Y() {y=1; cout<<" y="< Y(int i, int j=15):X(i) {y=j; cout<<" y="< | int main() { X obj_x(5); Y obj_y(7); } | Что выведется на экран после ее работы: |
19. Что напечатает следующий код при создании объекта (экземпляра) класса X:
class Y { public: Y() { cout<<"Y"; } };
class Z { public: Z() { cout<<"Z"; } };
class X : public Z { private: Y m_objY;
public: X(){ cout<<"X"; } };
int main() {X obj; return 0;}
A. X; B. YX; C. ZYX; D. ZX;
20. Что будет выведено на экран по окончанию программы?
class user {private: int id; static int next_id;
public: static int next_user_id(){next_id++; return next_id;}
user(){id = user::next_id++;}
};
int user::next_id = 0;
int main() {user obj; user obj2;
cout<
A. 3; B. 2; C. 0; D. 1;
21. Что понимается под определением в одной области действия нескольких функций с одинаковым именем, но различными параметрами?
A. Наследование; B. Дружественность; C. Переопределение; D. Перегрузка;
22. Есть класс
class DD {
private: int x; int y;
public: void f1(int d, int p) { x = d; y = p; } };
В следующем фрагменте замените фразы на команды:
int main() {
создание объекта класса; ______________________
вызов метода f1; ________________________________
return 0;}
23. Чем обличается класс от объекта?_____________________________________________________________________________
24. Что такое метод?________________________________________________________________
25. Может ли метод быть приватный?_______
26. Можно в методах присваивать параметрам значения по умолчанию?________
27. Чем отличается модификатор доступа protected:
от модификатора private_______________________________________________________
от модификатора public_______________________________________________________