Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Reyting_po_proganyu.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
105 Кб
Скачать
☆

1.Явное и неявное преобразование типов. Преобразование типов с помощью конструктора и операторов функции.

2. Какого типа аргумент должен иметь конструктор копирования? Копирующий конструктор принимает в качестве формального параметра ссылку на объект класса (традиционно объявляемую со спецификатором const) Point (const Point &X)

3.Что является аргументом return в коде оператора присвоения

return this

Билет 10

1,Переопределение функции и перегрузка операции.

2. В каких ситуациях происходит автоматический вызов конструктора копирования? Конструктор вызывается, когда новый объект создается путем копирования существующего: при передаче нового объекта с инициализацией другим объектом при передаче объекта в функцию по значению при возврате объекта из функции. Конструктор копирования выполняет поэлементное копирование полей. В случае, когда в классе есть указатели или ссылки, использование конструктора копирования будет неправильным.

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

2

Билет 11

1.Перегрузка унарных и бинарных операций

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

Если унарная операция определена вне класса, она должна иметь один параметр - типа класса

Если не описывать функцию внутри класса как дружественную функцию, нужно учитывать доступность полей.

Бинарная функциональная операция может определятся внутри и вне класса.

Если бинарная операция определена внутри класса, то при этом вызывающий ее объект считается первым операндом.

2,В каких случаях автоматически вызывается деструктор классов?

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

3.Каким образом можно запретить присвоение объектов класса во внешних функциях.

запихнуть в private

Билет 12

1.Перегрузка операций присваивания

Операция присваивания может быть определена в любом классе по умолчанию как конструктор копирования. Эта операция вызывается каждый раз, когда одному объекту нужно присвоить значение другого. Если класс содержит поля, память под которые выделяется динамически, то необходимо определить собственный оператор присваивания. Операция должна возвращать ссылку на объект для которого она вызывалась и принимать в качестве параметра один аргумент: ссылку на присваиваемый объект.

Примечание: возврат из функции указателя на объект делает возможным цепочку присваиваний.

Операцию присваивания можно определить как метод класса. Операция присваивания не наследуется.

2. Сколько деструкторов может быть определено в классе? 1

3. Можно ли перегрузить **, для возведения в степень объектов класса

нет

Билет 13

1.Перегрузка операции вызова функции

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

class if_greater{
public
int operator() (int a, int b) const { return a>b; }};

2. Чем различаются структуры и классы по доступу к своим компонентам? 1)Все элементы структуры по умолчанию являются Public. переменные и константы класса по умолчанию — Private, а другие элементы класса по умолчанию являются Public. 2)Структуры должны иметь хотя бы одну переменную или элемент события без общего доступа; класс может быть совершенно пустым. 3)Элементы структуры не могут быть объявлены как Protected; члены класса могут. 4)Структуры не наследуются; классы наследуются.

3.Возможна ли перегрузка изменений для данных стандартных типов.

нет

Билет 14

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]