Поделиться через


Специальные функции-члены (C++)

C++ определяет несколько типов функций, которые можно объявлять только в виде членов класса - это называется «специальными функции-членами». Эти функции влияют на способ объекты заданного класса создаются, удалено, копируется и преобразуется в объекты других типов.Другое важное свойство многие из этих функций чтобы их можно было вызвать неявно (компилятором).

Специальные функции-члены, описанные в этом разделе, следующим образом:

Элементы в предыдущем списке могут быть определяемой пользователем, для каждого класса.

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

Сводка функций расширения функциональности

Тип функции

Функция наследуются из базового класса?

Может быть виртуальной функции?

Функция может возвращать значение?

Функция элемент или другой?

Компилятор создаст функцию в случае, если пользователь не выполняет?

Конструктор

Нет

Нет

Нет

Элемент

Да

Конструктор копий

Нет

Нет

Нет

Элемент

Да

деструктор

Нет

Да

Нет

Элемент

Да

Преобразование

Да

Да

Нет

Элемент

Нет

назначение (operator=)

Нет

Да

Да

Элемент

Да

new;

Да

Нет

void*

статический элемент

Нет

удаление

Да

Нет

void

статический элемент

Нет

Другие функции элементов

Да

Да

Да

Элемент

Нет

Дружественной функции

Нет

Нет

Да

Friend

Нет

См. также

Другие ресурсы

Справочник по языку C++