WorksheetsТест по конструкторам в C++
Total questions: 33
Worksheet time: 17mins
Что такое конструктор в C++?
Функция, инициализирующая переменные
Функция, вызываемая при удалении объекта
Специальный метод, вызываемый при создании объекта
Специальный метод, используемый для изменения состояния объекта
Может ли конструктор иметь возвращаемое значение?
Да, любой тип данных
Нет, не может иметь возвращаемого значения
Да, только указатель
Да, но только ссылку
Конструктор без параметров называется:
Деструктор
Конструктор по умолчанию
Конструктор копирования
Перегруженный конструктор
Как можно инициализировать члены класса в конструкторе?
Через операторы присваивания
Через инициализатор списка
Только через функцию `main`
Через глобальные переменные
Что происходит, если в классе не определён конструктор?
Ошибка компиляции
Конструктор не создается
Компилятор создает конструктор по умолчанию
Все члены класса инициализируются значением 0
Что такое конструктор копирования?
Функция для копирования файлов
Метод для создания копии объекта на основе другого объекта того же класса
Метод для инициализации константных объектов
о такое конструктор копирования?
Функция для копирования файлов
Метод для создания копии объекта на основе другого объекта того же класса
Метод для инициализации константных объектов
Конструктор для удаления объекта
Конструктор копирования передаёт объект в функцию:
По указателю
По значению
По ссылке
По массиву
Какой из вариантов является правильной сигнатурой конструктора копирования?
MyClass(const MyClass &obj)
MyClass(MyClass obj)
MyClass(MyClass* obj)
MyClass(const MyClass obj)
Конструктор копирования вызывается, когда:
Объект передается по значению в функцию
Объект передается по ссылке
Объект передается по указателю
Объект удаляется
Если не определён конструктор копирования, компилятор:
Вызывает конструктор по умолчанию
Не компилирует программу
Создаёт собственный конструктор копирования
Создает деструктор
Какой из конструкторов будет вызван при передаче объекта по значению в функцию?
Конструктор по умолчанию
Конструктор копирования
Перегруженный конструктор
Деструктор
Для чего используется ключевое слово `const` при объявлении методов класса?
Для защиты объекта от удаления
Для указания, что метод не изменяет данные члены объекта
Для уменьшения времени компиляции
Для увеличения скорости работы программы
Константные объекты могут вызывать:
Любые методы
Только константные методы
Только методы с ключевым словом `private`
Любые методы, если объект инициализируется явно
Какой из следующих методов является константным?
`void myMethod() const`
`const void myMethod()`
`void const myMethod()`
`myMethod() const void`
Что происходит, если неконстантный метод вызывается для константного объекта?
Ошибка компиляции
Ошибка выполнения
Ничего
Метод работает, но данные объекта не изменяются
Константные члены данных класса инициализируются:
В теле конструктора
В списке инициализации конструктора
В любом методе класса
В функции main
Можно ли константный объект изменить через неконстантный указатель?
Да
Нет
Только если он передан по ссылке
Только если указатель глобальный
Что такое дружественная функция?
Метод класса
Внешняя функция, которая имеет доступ к закрытым членам класса
Метод, который можно вызывать только внутри класса
Функция, вызываемая при удалении объекта
Как объявляется дружественная функция?
Через ключевое слово `friend`
Через ключевое слово `private`
Через кл
Как объявляется дружественная функция?
Через ключевое слово `friend` (Correct)
Через ключевое слово `private`
Через ключевое слово `public`
Через ключевое слово `protected`
Может ли дружественная функция быть методом другого класса?
Да, но только если она константная
Да, но только через наследование
Нет
Да, если она объявлена с ключевым словом `friend` (Correct)
Как дружественные функции влияют на инкапсуляцию?
Нарушают инкапсуляцию (Correct)
Усиливают инкапсуляцию
Не влияют на инкапсуляцию
Зависит от области видимости
Можно ли использовать дружественную функцию в другом классе без объявления её как `friend`?
Да
Нет (Correct)
Только если класс является наследником
Только если функция виртуальная
Как дружественный класс взаимодействует с закрытыми членами другого класса?
Имеет полный доступ к закрытым членам класса (Correct)
Имеет доступ только к защищённым членам
Имеет доступ только к публичным членам
Не имеет доступа ни к каким членам
Какой синтаксис используется для объявления дружественного класса?
`friend class ClassName;` (Correct)
`private class ClassName;`
`public friend ClassName;`
`protected friend ClassName;`
Может ли дружественная функция быть частью интерфейса другого класса?
Нет
Да (Correct)
Только если она статическая
Тол
Может ли дружественная функция быть частью интерфейса другого класса?
Нет
Да
Только если она статическая
Только если она виртуальная
Конструктор, принимающий единственный параметр, является:
Деструктором
Конструктором преобразования
Перегруженным оператором
Конструктором копирования
Можно ли перегрузить конструкторы в C++?
Да
Нет
Только конструкторы по умолчанию
Только конструкторы копирования
Какое ключевое слово используется для создания постоянных объектов?
static
volatile
const
mutable
Что происходит, если конструктор не определен в классе, а объект этого класса создается?
Происходит ошибка компиляции
Создаётся объект с использованием конструктора по умолчанию, сгенерированного компилятором
Члены класса инициализируются случайными значениями
Объект не создается
Дружественные функции и методы могут:
Быть только внутри класса
Иметь доступ к приватным членам класса
Быть вызваны только с использованием указателя
Не могут иметь доступ к закрытым членам класса
