суббота, 5 декабря 2009 г.

6.12. Использование деструкторов

Деструктор это специальная функция-элемент класса. Имя деструк­тора совпадает с именем класса, но перед ним ставится символ тильда (~). Это соглашение о наименовании появилось интуитивно, потому что, как мы увидим в последующих главах, операция тильда является поразрядной опе­рацией дополнения, а по смыслу деструктор является дополнением конструк­тора.
Деструктор класса вызывается при уничтожении объекта например, когда выполняемая программа покидает область действия, в которой был создан объект этого класса. На самом деле деструктор сам не уничтожает объект он выполняет подготовку завершения перед тем, как система ос­вобождает область памяти, в которой хранился объект, чтобы использовать ее для размещения новых объектов.
Деструктор не принимает никаких параметров и не возвращает никаких значений. Класс может иметь только один деструктор перегрузка деструк­тора не разрешается.
Типичная ошибка программирования 6.7
Попытки передать аргументы деструктору, вернуть значения из деструктора или пере­грузить деструктор.
Заметим, что представленные до сих пор классы не были обеспечены деструкторами. На самом деле, деструкторы редко используются с простыми классами. В главе 8 мы увидим, что деструкторы имеют смысл в классах, использующих динамическое распределение памяти под объекты (например, для массивов и строк). В главе 7, мы обсудим, как динамически распределять и перераспределять память.

Комментариев нет:

Отправить комментарий