На этом шаге мы рассмотрим назначение деструктора.
Суть этой функции - обратная сути функции конструктора. Она призвана освободить память, выделенную для размещения значений членов-данных в конструкторе; как правило требуют освобождения памяти члены-данные, размещенные в неуправляемой куче.
Имя деструктора совпадает с именем класса, но перед именем указывается знак "тильда" (~). Для предыдущего примера деструктор будет иметь вид: ~Date () {}, то есть в этом случае никаких действий деструктор не производит, так как мы не выделяли в куче место для размещения значений членов-данных. В этом случае деструктор может быть опущен; в предыдущем примере он приведен для полноты изложения.
Деструктор у класса должен быть один.
На следующем шаге мы рассмотрим классы, структуры и массивы в среде CLR.