Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДЕК ооп_відповді.doc
Скачиваний:
65
Добавлен:
12.02.2016
Размер:
240.64 Кб
Скачать

Запитання вартістю 2 балів (середня складність 13 пит.)

  1. В якому рядку зроблена помилка:

  1. class Square

  2. {

  3. public:

  4. int Side;

  5. }

  • в рядку a).

  • в рядку b).

  • в рядку c).

  • в рядку d).

  • в рядку e).

  • помилок немає

  1. В якому рядку чи рядках компілятор знайде помилки:

  1. class TV

  2. {

  3. public:

  4. void SetStation(int Station);

  5. int GetStation() const;

  6. private:

  7. int itsStation;

  8. };

  9. main()

  10. {

  11. TV myTV;

  12. myTV.itsStation = 9;

  13. TV.SetStation(10);

  14. TV myOtherTv(2);

  15. }

  • в рядках l), m), n).

  • в рядках d),e), g).

  • в рядках m), n).

  • в рядку n).

  • помилок немає.

  • впишіть власні номери рядків з помилками_________________________

  1. Скільки помилок знайде компілятор в цьому коді:

  1. class TV

  2. {

  3. public:

  4. void SetStation(int Station);

  5. int GetStation() const;

  6. private:

  7. int itsStation;

  8. };

  9. main()

  10. {

  11. TV myTV;

  12. myTV.itsStation = 9;

  13. TV.SetStation(10);

  14. TV myOtherTv(2);

  15. }

  • Одна.

  • Дві.

  • Три.

  • Чотири.

  • Жодної.

  • Впишіть власну кількість помилок _________________________

  1. В якому рядку зроблена помилка:

  1. #include<iostream>

  2. using namespace std;

  3. int main()

  4. {

  5. int * pInt;

  6. *pInt = 9;

  7. cout<< “The value at pInt: ”<< *pInt;

  8. return 0;

  9. }

  • в рядку c).

  • в рядку h).

  • в рядку e).

  • в рядку f).

  • в рядку g).

  • помилок немає.

  • впишіть власні номери рядків з помилками_________________________

  1. В якому рядку (чи рядках) зроблена помилка:

  1. #include<iostream>

  2. using namespace std;

  3. int main()

  4. {

  5. int SomeVariable = 5;

  6. cout<< “SomeVariable: ” << SomeVariable << “\n”;

  7. int *pVar = & SomeVariable;

  8. pVar = 9;

  9. cout<< “SomeVariable: ” << *pVar << “\n”;

  10. return 0;

  11. }

  • в рядку h).

  • в рядку i), k).

  • в рядку g),h).

  • помилок немає.

  • впишіть власні номери рядків з помилками_________________________

  1. Знайдіть помилку в реалізації оператора присвоєння:

  1. class SQUARE

  2. {

  3. int* itsSide;

  4. public:

  5. SQUARE operator =(const SQUARE& rhs)

  6. {

  7. itsSide = new int;

  8. *itsSide = rhs.GetSide();

  9. return this;

  10. }

  11. GetSide(){return *itsSide;}

  12. };

  • в рядку e).

  • в рядку g).

  • в рядку h).

  • в рядку i).

  • в рядку l).

  • помилок немає.

  • впишіть власні номери рядків з помилками_________________________

  1. В якому рядку (чи рядках) зроблена помилка:

  1. class Shape { };

  2. class Rectangle: public Shape { };

  3. void SomeFunction (Shape) { }

  4. int main()

  5. {

  6. Shape * pRect = new Rectangle;

  7. SomeFunction (*pRect);

  8. }

  • в рядку a).

  • в рядку b).

  • в рядках f),g).

  • помилок немає.

  • впишіть власні номери рядків з помилками_________________________

  1. В якому рядку (чи рядках) зроблена помилка:

  1. class Shape { };

  2. class Rectangle: public Shape { };

  3. void SomeFunction (Rectangle) { }

  4. int main()

  5. {

  6. Rectangle * pRect = new Shape;

  7. SomeFunction (*pRect);

  8. }

  • в рядку a).

  • в рядку b),g).

  • в рядкe f).

  • помилок немає.

  • впишіть власні номери рядків з помилками_________________________

  1. В якому рядку (чи рядках) зроблена помилка:

  1. class Shape { };

  2. class Rectangle: public Shape { };

  3. void SomeFunction (Shape) { }

  4. int main()

  5. {

  6. Rectangle * pRect = new Shape;

  7. SomeFunction (*pRect);

  8. }

  • в рядку a).

  • в рядку b),g).

  • в рядках f), g).

  • помилок немає.

  • впишіть власні номери рядків з помилками_________________________

  1. В якому рядку (чи рядках) зроблена помилка:

  1. class Shape()

  2. {

  3. public:

  4. Shape();

  5. virtual ~Shape();

  6. virtual Shape( const Shape& );

  7. };

  • в рядку e).

  • в рядку f).

  • в рядку d).

  • помилок немає.

  • впишіть власні номери рядків з помилками_________________________

  1. В якому рядку (чи рядках) зроблена помилка:

  1. unsigned short SomeArray[5][4];

  2. for ( int i=0; i<4; i++ )

  3. for ( int j=0; j<5; j++ )

  4. SomeArray[i][j] = i+j;

  • в рядку c).

  • в рядку a).

  • в рядку b).

  • в рядку d).

  • помилок немає.

  1. В якому рядку (чи рядках) зроблена помилка:

  1. unsigned short SomeArray[5][4];

  2. for ( int i=0; i<=5; i++ )

  3. for ( int j=0; j<=4; j++ )

  4. SomeArray[i][j] = 0;

  • в рядку a).

  • в рядку b).

  • в рядку c).

  • в рядку d).

  • помилок немає.

  1. В якому рядку (чи рядках) зроблена помилка:

  1. #include<iostream>

  2. int main()

  3. {

  4. cout<< “Hello world!” << end;

  5. return 0;

  6. }

  • в рядку a).

  • в рядку b).

  • в рядку d).

  • в рядку e).

  • помилок немає.

  1. Захист даних від несанкціонованого доступу до них іншими функціями називається

  • успадкуванням;

  • збереженням;

  • приховуванням;

  • інкапсуляцією

  1. Об'єднання членів даних і функцій-членів класу називається:

  • структурою;

  • інкапсуляцією

  • перевантаженням;

  • успадкуванням.

  1. Можливість виконання оператором або функцією різних дій залежно від типу операндів називається:

  • інкапсуляцією;

  • класифікацією;

  • поліморфізмом;

  • перевантаженням

  1. Операція, яка виконує задані дії над призначеним для користувача типом даних, називається:

  • поліморфічною;

  • перевантаженою.

  • інкапсульованою;

  • класифікованою.

  1. Для чого необхідне оголошення класу (ОК)?:

  • ОК вказує на те, які глобальні члени даних класу використовуватимуться у програмі;

  • ОК вказує на те, які функції-члени класу використовуватимуться для оброблення даних;

  • ОК описує, як будуть виглядати об'єкти після їх створення;

  • ОК описує властивості об'єкта після його створення.

  1. У визначенні класу члени класу з ключовим словом private доступні::

  • будь-якої функції програми;

  • у випадку, якщо Вам відомий пароль;

  • функціям-членам цього класу;

  • тільки відкритим членам даних класу.

  1. Чи правильним є таке твердження: члени даних класу та функції-члени класу повинні бути закритими?

  • так, члени даних класу і функції-члени класу завжди є закритими;

  • ні, члени даних класу і функції-члени класу завжди є відкритими;

  • ні, члени даних класу і функції-члени класу можуть бути як закритими, так і відкритими;

  • ні, тільки члени даних класу є закритими, а і функції-члени класу можуть бути як закри-тими, так і відкритими;..

  1. Операція крапки (операція доступу до члена класу) об'єднує такі два елементи (зліва направо):

  • член класу і об'єкт класу;

  • об'єкт класу і клас;

  • клас і член цього класу;

  • об'єкт класу і член цього класу.

  1. Конструктор викликається автоматично в момент::

  • доступу до об'єкта;

  • використання об'єкта;

  • створення об'єкта;

  • перевантаження об'єкта.

  1. Функції-члени класу, визначені усередині класу, за замовчуванням:

  • відкриті;

  • закриті;

  • захищені;

  • заборонені..

  1. Що дає оголошення методів класу з модифікатором const?

  • Робить постійним вказівник vptr.

  • Робить постійним вказівник vtab.

  • Робить постійним вказівник this.

  • Відміняє модифікатор mutable

  • Відміняє модифікатор volatile

  1. Що знаходиться в неініціалізованому елементі локального масиву?

  • Нульові значення.

  • Будь-яке значення, яке знаходилося в цій області пам’яті.

  • Заборонено створювати локальний масив без ініціалізації

  1. Що відбудеться якщо в масив із 24-х членів ввести значення для 25-го елемента?

  • Значення буде записане в область пам’яті, яка належить нульовому елементу масиву.

  • Значення не буде записане в область пам’яті.

  • Значення буде записане в область пам’яті, яка належить іншій змінній, що може привести до збою в програмі.

  1. Що означає перенесення функціональних можливостей догори в дереві наслідування?

  • Мова іде про перенесення описаних загальних функцій-членів в базові класи більш нищого рівня.

  • Мова іде про використання віртуальних базових класів.

  • Мова іде про перенесення описаних загальних функцій-членів в базові класи більш вищого рівня.

  1. Чи обов’язково використовувати простори імен?

  • Так

  • Ні

  1. Для чого використовують зарезервоване слово using?

  • Для відкривання простору імен.

  • Для відкривання окремих імен з даного простору.

  • Для обох приведених випадків.

  1. Чи повинне виключення бути обробленим в тому ж місці, звідки його передав блок try?

  • Так.

  • Частково.

  • Ні.

  1. Чи правильним є таке твердження: ім'я деструктора завжди збігається з іменем конструктора?

  • ні, бо конструктор призначений для створення об'єкта, а деструктор – його знищення;

  • ні, бо конструктор і деструктор мають мати різні імена;

  • так, ім'я деструктора збігається з іменем конструктора, але йому передує символ "~";

  • так, але ім'я деструктора пишеться з великої букви на відміну від імені конструктора..