Перейти к содержимому
Главная страница » Тесты по С++ с ответами

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

Тесты по С++ с ответами: бесплатные материалы для тестирования от преподавателя.

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