Объектно-ориентированное программирование на языке С++. Лясин Д.Н - 22 стр.

UptoLike

Составители: 

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