Ім'я файлу: ООП-2 - Відповіді.pdf
Розширення: pdf
Розмір: 232кб.
Дата: 22.10.2022
скачати

Основи об’єктно-орієнтованого програмування (Частина 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

скачати

© Усі права захищені
написати до нас