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


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

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

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

Функции-члены из приведенного выше списка могут определяться пользователем для каждого класса.

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

Краткие сведения о поведении функций

Тип функции

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

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

Может ли функция возвращать значение?

Функция-член или дружественная функция?

Создается ли компилятором, если не создана пользователем?

Конструктор

Нет

Нет

Нет

Член

Да

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

Нет

Нет

Нет

Член

Да

Деструктор

Нет

Да

Нет

Член

Да

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

Да

Да

Нет

Член

Нет

Присваивание (operator=)

Нет

Да

Да

Член

Да

new

Да

Нет

void*

Статический член

Нет

удаление;

Да

Нет

void

Статический член

Нет

Другие функции-члены

Да

Да

Да

Член

Нет

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

Нет

Нет

Да

Дружественная

Нет

См. также

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

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