Составители:
Рубрика:
22
конструктор. При описании конструктора после заголовка функции можно поста-
вить двоеточие и за ним список инициализаторов вида
имя_компонента (выражение)
Например, для класса array можно было определить конструктор так:
class array
( .....
public:
array ( int k) : n(k)
{mas=new int[n] ;
}
};
Еще одним специальным методом класса является деструктор. Деструк-
тор вызывается перед освобождением памяти, занимаемой объектной пере-
менной, и предназначен для выполнения дополнительных действий, связан-
ных с уничтожением объектной переменной, например, для освобождения ди-
намической памяти, закрытия, уничтожения файлов и т.п.
Объявление деструктора в классе выглядит следующим образом:
~имя_класса() {
тело деструктора}
Деструктор всегда имеет то же имя, что и имя класса, но перед именем
записывается знак ~ (тильда). Деструктор не имеет параметров и подобно кон-
структору не возвращает никакого значения. Таким образом, деструктор не
может быть перегружен и должен существовать в классе в единственном эк-
земпляре. Деструктор вызывается автоматически при уничтожении
объекта.
Таким образом, для статически определенных объектов деструктор вызывает-
ся, когда заканчивается блок программы, в котором определен объект (блок в
данном случае – составной оператор или тело функции). Для объектов, память
для которых выделена динамически, деструктор вызывается при уничтожении
объекта операцией delete.
конструктор. При описании конструктора после заголовка функции можно поста- вить двоеточие и за ним список инициализаторов вида имя_компонента (выражение) Например, для класса array можно было определить конструктор так: class array ( ..... public: array ( int k) : n(k) {mas=new int[n] ; } }; Еще одним специальным методом класса является деструктор. Деструк- тор вызывается перед освобождением памяти, занимаемой объектной пере- менной, и предназначен для выполнения дополнительных действий, связан- ных с уничтожением объектной переменной, например, для освобождения ди- намической памяти, закрытия, уничтожения файлов и т.п. Объявление деструктора в классе выглядит следующим образом: ~имя_класса() {тело деструктора} Деструктор всегда имеет то же имя, что и имя класса, но перед именем записывается знак ~ (тильда). Деструктор не имеет параметров и подобно кон- структору не возвращает никакого значения. Таким образом, деструктор не может быть перегружен и должен существовать в классе в единственном эк- земпляре. Деструктор вызывается автоматически при уничтожении объекта. Таким образом, для статически определенных объектов деструктор вызывает- ся, когда заканчивается блок программы, в котором определен объект (блок в данном случае – составной оператор или тело функции). Для объектов, память для которых выделена динамически, деструктор вызывается при уничтожении объекта операцией delete. 22
Страницы
- « первая
- ‹ предыдущая
- …
- 20
- 21
- 22
- 23
- 24
- …
- следующая ›
- последняя »