Тесты по С++ с ответами: бесплатные материалы для тестирования от преподавателя.
Вопросы теста по «Объектно-ориентированное программирование на языке 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);