Тесты по темам:

 

Тесты по С++ с ответами

Тесты по программированию на С++

Вопросы теста по «Объектно-ориентированное программирование на языке C++»

Правильные ответы в тесте C++  обозначены *.

1. Класс - это:

- любой тип данных, определяемый пользователем

- * тип данных, определяемый пользователем и сочетающий в себе данные и функции их обработки

- структура, для которой в программе имеются функции работы с нею

5.Тест. Членами класса могут быть

- * как переменные, так и функции, могут быть объявлены как private и как public

- только переменные, объявленные как private

- только функции, объявленные как private

- только переменные и функции, объявленные как private

- только переменные и функции, объявленные как public

6. Что называется конструктором?

- * метод, имя которого совпадает с именем класса и который вызывается автоматически при создании объекта класса

- метод, имя которого совпадает с именем класса и который вызывается автоматически при объявлении класса (до создания объекта класса)

- метод, имя которого необязательно совпадает с именем класса и который вызывается при создании объекта класса

- метод, имя которого совпадает с именем класса и который необходимо явно вызывать из головной программы при объявлении объекта класса

4. Объект - это

- переменная, содержащая указатель на класс

- * экземпляр класса

- класс, который содержит в себе данные и методы их обработки

8. Отметьте правильные утверждения

- * конструкторы класса не наследуются

- конструкторов класса может быть несколько, их синтаксис определяется программистом

- * конструкторов класса может быть несколько, но их синтаксис должен подчиняться правилам перегрузки функций

- конструктор возвращает указатель на объект

- * конструктор не возвращает значение

9. Что называется деструктором?

- метод, который уничтожает объект

- метод, который удаляет объект

- * метод, который освобождает память, занимаемую объектом

- системная функция, которая освобождает память, занимаемую объектом

7. Выберите правильные утверждения

- * у конструктора могут быть параметры

- конструктор наследуется, но должен быть перегружен

- конструктор должен явно вызываться всегда перед объявлением объекта

- * конструктор вызывается автоматически при объявлении объекта

- объявление каждого класса должно содержать свой конструктор

- * если конструктор не создан, компилятор создаст его автоматически

10. Выберите правильные утверждения

- деструктор - это метод класса, применяемый для удаления объекта

- * деструктор - это метод класса, применяемый для освобождения памяти, занимаемой объектом

- деструктор - это отдельная функция головной программы, применяемая для освобождения памяти, занимаемой объектом

- * деструктор не наследуется

- деструктор наследуется, но должен быть перегружен

Тест - 11. Что называется наследованием?

- * это механизм, посредством которого производный класс получает элементы родительского и может дополнять либо изменять их свойства и методы

- это механизм переопределения методов базового класса

- это механизм, посредством которого производный класс получает все поля базового класса

- это механизм, посредством которого производный класс получает элементы родительского, может их дополнить, но не может переопределить

12. Выберите правильное объявление производного класса

- class MoreDetails:: Details;

- class MoreDetails: public class Details;

- * class MoreDetails: public Details;

- class MoreDetails: class(Details);

13. Выберите правильные утверждения:

- если элементы класса объявлены как private, то они доступны только наследникам класса, но не внешним функциям

- * если элементы класса объявлены как private, то они недоступны ни наследникам класса, ни внешним функциям

- если элементы объявлены как public, то они доступны наследникам класса, но не внешним функциям

- * если элементы объявлены как public, то они доступны и наследникам класса, и внешним функциям

14. Возможность и способ обращения производного класса к элементам базового определяется

- ключами доступа: private, public, protected в теле производного класса

- только ключом доступа protected в заголовке объявления производного класса

- * ключами доступа: private, public, protected в заголовке объявления производного класса

- ключами доступа: private, public, protected в теле базового класса

15. Выберите правильные соответствия между спецификатором базового класса, ключом доступа в объявлении производного класса и правами доступа прозводного класса к элементам базового

- ключ доступа - public; в базовом классе: private; права доступа в производном классе - protected

- * ключ доступа - любой; в базовом классе: private; права доступа в производном классе - нет прав

- * ключ доступа - protected или public ; в базовом классе: protected; права доступа в производном классе - protected

- ключ доступа - private; в базовом классе: public; права доступа в производном классе - public

- * ключ доступа – любой; в базовом классе: public; права доступа в производном классе – такие же, как ключ доступа

16. Дружественная функция - это

- функция другого класса, среди аргументов которой есть элементы данного класса

- * функция, объявленная в классе с атрибутом friend, но не являющаяся членом класса;

- функция, являющаяся членом класса и объявленная с атрибутом friend;

- функция, которая в другом классе объявлена как дружественная данному

17. Выберите правильные утверждения:

- * одна функция может быть дружественной нескольким классам

- дружественная функция не может быть обычной функцией, а только методом другого класса

- * дружественная функция объявляется внутри класса, к элементам которого ей нужен доступ

- дружественная функция не может быть методом другого класса

18. Шаблон функции - это...

- * определение функции, в которой типу обрабатываемых данных присвоено условное обозначение

- прототип функции, в котором вместо имен параметров указан условный тип

- определение функции, в котором указаны возможные варианты типов обрабатываемых параметров

- определение функции, в котором в прототипе указан условный тип, а в определении указаны варианты типов обрабатываемых параметров

2. Выберите правильные утверждения:

- * по умолчанию члены класса имеют атрибут private

- по умолчанию члены класса имеют атрибут public;

- члены класса имеют доступ только к элементам public;

- * элементы класса с атрибутом private доступны только членам класса

3. Переопределение операций имеет вид:

- имя_класса, ключевое слово operation, символ операции

- * имя_класса, ключевое слово operator, символ операции, в круглых скобках могут быть указаны аргументы

- имя_класса, ключевое слово operator, список аргументов

- имя_класса, два двоеточия, ключевое слово operator, символ операции

Тест - 19. Для доступа к элементам объекта используются:

- * при обращении через имя объекта – точка, при обращении через указатель – операция «->»

- при обращении через имя объекта – два двоеточия, при обращении через указатель – операция «точка»

- при обращении через имя объекта – точка, при обращении через указатель – два двоеточия

- при обращении через имя объекта – два двоеточия, при обращении через указатель – операция «->»

20. Полиморфизм – это :

- * средство, позволяющее использовать одно имя для обозначения действий, общих для родственных классов

- средство, позволяющее в одном классе использовать методы с одинаковыми именами;

- средство, позволяющее в одном классе использовать методы с разными именами для выполнения одинаковых действий

- средство, позволяющее перегружать функции для работы с разными типами или разным количеством аргументов.

21. Полиморфизм реализован через механизмы:

- * перегрузки функций, виртуальных функций, шаблонов

- перегрузки функций, наследования методов, шаблонов;

- наследования методов, виртуальных функций, шаблонов

- перегрузки функций, наследования, виртуальных функций.

22. Виртуальными называются функции:

- * функции базового класса, которые могут быть переопределены в производном классе

- функции базового класса, которые не используются в производном классе;

- функции базового класса, которые не могут быть переопределены в базовом классе;

- функции производного класса, переопределенные относительно базового класса

23. Выберите правильный вариант выделения динамической памяти под переменную X типа float:

- * float *ptr = new float; X = *ptr;

- float & ptr = new float; X = & ptr;

- float * ptr = &X; X = new float;

24. Полиморфизм в объектно-ориентированном программировании реализуется:

- * через механизмы перегрузки (функций и операций), виртуальные функции и шаблоны

- через механизмы перегрузки (функций и операций) и шаблоны;

- через виртуальные функции и шаблоны;

- через механизмы перегрузки (функций и операций) и виртуальные функции

25. Дано определение класса

class monstr {

int health, armo;

monstr(int he, int arm);

public:

monstr(int he=50, int arm=10);

int color;

}

26.Тест. Укажите свойства и методы, доступные внешним функциям

- health, armo
monstr(int he, int arm);
monstr(int he=50, int arm=10);

- * int color;
monstr(int he=50, int arm=10);

- health, armo, color
monstr(int he=50, int arm=10);

- int color;
monstr(int he, int arm);