Основи об’єктно-орієнтованого програмування (Частина 2) 1. Скільки типів специфікаторів доступу передбачено в об’єктно-орієнтованому програмуванні (C++)? А) 1 B) 2 C) 3 D) 4 2. Які з наведених специфікаторів доступу можна використовувати разом в одному класі (C++)? А) private та public виключно B) private та protected виключно C) internal , private та protected D) private , public та protected 3. Який специфікатор доступу слід використовувати в класі, якщо необхідно унеможливити створення його об’єктів? А) Специфікатор private для конструктору за замовчанням B) Специфікатор private для конструкторів будь-якого типу C) Специфікатор public для конструкторів будь-якого типу D) Специфікатор public для віртуального конструктору 4. Оберіть правильне твердження для наведеного коду? class student { private: student() { } public : student( int x) { marks =x; } }; А) Об’єкт такого класу неможливо буде створити B) Об’єкт такого класу можливо створити без параметрів C) Об’єкт такого класу можливо створити з одним параметром виключно D) Об’єкт такого класу можливо створити з двома та більше параметрами виключно 5. Оберіть правильне твердження для наведеного коду? class A{ static int c=0; public: A(){ c++; } }; А) Конструктор присвоює полю c значення 1 при створенні об’єкту B) Конструктор присвоює полю c значення 0 при створенні об’єкту C) Конструктор зберігає кількість створених об’єктів D) Конструктор присвоює полю c значення 0 та збільшує його на 1 при створенні об’єкту 6. Оберіть НЕ правильне твердження для наведеного коду? class A { private : int sum(int x, int y) { return x+y; } public: A() { } A(int x, int y) { cout< } }; А) Конструктор може створити об’єкт, якщо значення параметрів нульові B) Конструктор надрукує суму, якщо при створенні об’єкта передано два параметри C) Конструктор видає помилку, якщо передаються значення float D) Конструктор буде використовувати 0 як значення параметрів за замовчуванням, якщо при створенні об’єкта значення параметрів не передано 7. Оберіть правильне твердження для наведеного коду? class A { private : A() { } public : A(int x) { } }; A a; A b(100); А) Виникне помилка при компіляції (compile time error) B) Програма буде працювати нормально C) Виникне помилка при виконанні (runtime error) D) Виникне логічна помилка (logical error) 8. Оберіть правильне твердження для наведеного коду? class A { int marks; protected : A(int x) { marks=x; } public : A() { marks=100; } } class B { A a; A b=100; }; main() { A a, b=100; B c; } А) Виникне помилка при компіляції (compile time error) B) Програма буде працювати нормально C) Виникне помилка при виконанні (runtime error) D) Виникне логічна помилка (logical error) 9. Оберіть правильне твердження для наведеного коду? class A { int marks; public : disp() { cout< } } class B: protected A { char name[20]; } A a; a.disp(); B b; b.disp(); А) Виключно об’єкти класу A мають доступ до функції disp() B) Виключно об’єкти класу B мають доступ до функції disp() C) Об’єкти класу A і класу B мають доступ до функції disp() D) Об’єкти класу A і класу B не мають доступ до функції disp() 10. Оберіть правильне твердження для наведеного коду (С++)? #include using namespace std; class Test { private: int x; public: Test(int x = 0) { this->x = x; } void change(Test *t) { this = t; } void print() { cout << "x = " << x << endl; } }; int main() { Test obj(5); Test *ptr = new Test (10); obj.change(ptr); obj.print(); return 0; } А) На екран буде виведено: x = 5 B) На екран буде виведено: x = 10 C) Виникне помилка при компіляції (compile time error) D) Виникне помилка при виконанні (runtime error) 11. Оберіть правильне твердження для наведеного коду (С++)? #include using namespace std; class Test { private: int x; int y; public: Test(int x = 0, int y = 0) { this->x = x; this->y = y; } static void fun1() { cout << "Inside fun1()"; } static void fun2() { cout << "Inside fun2()"; this->fun1(); } }; int main() { Test obj; obj.fun2(); return 0; } А) На екран буде виведено: Inside fun2() Inside fun1() B) На екран буде виведено: Inside fun2() C) На екран буде виведено: Inside fun1() Inside fun2() D) Виникне помилка при компіляції (compile time error) 12. Нехай є 5 класів, E походить від D , D від C , C від B і B від A . Конструктор якого з класів буде викликаний першим, якщо буде створений об'єкт E або D ? А) A B) B C) C D) D 13. Який з перелічених операторів НЕ може бути перевантажений? I. >> II. ?: III. . А) I виключно B) ІІ виключно C) ІІІ виключно D) ІІ та ІІІ 14. Нехай було перевантажено оператор ! для класу Number , а А і В – два об’єкти класу Number . Який вираз є правильним? А) !A B) B! C) A!B D) B!A 15. Що буде виведено на екран в результаті виконання наведеного коду С++, якщо користувач введе Hello World ? #include #include using namespace std; int main(int argc, char const *argv[]) { string str; cin>>str; cout< return 0; } А) Hello World B) Hello world C) Hello D) World 16. Що буде виведено на екран в результаті виконання наведеного коду С++? #include #include using namespace std; int main () { char str1[10] = "Hello"; char str2[10] = "World"; char str3[10]; int len ; strcpy( str3, str1); strcat( str1, str2); len = strlen(str1); cout << len << endl; return 0; } А) 5 B) 55 C) 11 D) 10 17. Що буде виведено на екран в результаті виконання наведеного коду С++? #include #include using namespace std; int main () { string str ("steve jobs is legend"); string::iterator it; str.erase (str.begin()+ 5, str.end()-7); cout << str << endl; return 0; } А) jobs is B) steve legend C) steve D) steve jobs is 18. Яким буде результат виконання наведеного коду С++? #include #include using namespace std; int main () { string str ("Microsoft"); for (size_t i = 0; i < str.length();) { cout << str.at(i-1); } return 0; } А) M B) Microsoft C) Micro D) Виникне помилка при виконанні (runtime error) 19. Що буде виведено на екран в результаті виконання наведеного коду С++? #include #include using namespace std; int main() { int num1 = 5; int num2 = 3; int num3 = 2; num1 = num2++; num2 = --num3; cout << num1 << num2 << num3; return 0; } А) 532 B) 235 C) 312 D) 311 20. Що буде виведено на екран в результаті виконання наведеного коду С++? #include #include using namespace std; int main() { int x = 5, y = 5, z; x = ++x; y = --y; z = x++ + y--; cout << z; return 0; } А) 9 B) 10 C) 11 D) 12 |