Добавил:
Помощь с лабораторными, контрольными практическими и курсовыми работами по: - Инженерной и компьютерной графике - Прикладной механике Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 сем 1 курс С++ / Экзамен / Lektsii_Kurakina_2_semestr.pdf
Скачиваний:
12
Добавлен:
08.08.2022
Размер:
4.82 Mб
Скачать

sum z(x2,y2);

z.summa();

sum s;

s.summa();

return 0;

}

2.5. Деструкторы

Деструкторы – это специальные функции-члены, которые уничтожают объекты класса и освобождают занимаемую этими объектами память; также осуществляют восстановление экрана, закрытие файла и т.д.

Деструктор имеет такое же имя, как и класс, но перед ним ставится знак тильда ~. Деструктор не должен иметь ни параметров, ни типа возвращаемого значения.

sum :: ~sum() {…}

Деструктор вызывается явно или не явно. Явно – при уничтожении объекта. Не явно – для локальных объектов, когда перестаёт быть активным блок, в котором данный объект объявлен.

2.6. Пример класса с конструктором и деструктором

/*Составить программу, осуществляющую вычисление по формуле: S = a*b + c*k + a*c */

# include <iostream> using namespace std; class Pro

{

int x, y, z; public:

Pro (int, int); int put_x (); int put_y (); int put_z ();

void proizv (void); ~Pro ();

};

Pro :: Pro (int x1, int y1){ x = x1;

y = y1; }

int Pro :: put_x (void) {return x ;}

int Pro :: put_y (void) {return y ;}

int Pro :: put_z (void) {return z ;}

void Pro :: proizv (void) {z = x*y ;}

Pro :: ~Pro () {}

int main(int argc, char** argv) { int S, a, b, c, k;

cout<< “\n Введите a, b, c и k \n”; cin>> a >> b >> c >> k;

Pro D = Pro (a, b);

Pro E (c, k);

Pro F (a, c);

D.proizv ();

E.proizv ();

F.proizv ();

S = D.put_z () + E.put_z () +F.put_z (); cout<< “сумма = “<<S;

F. Pro :: ~ Pro ();

E. Pro :: ~ Pro ();

Соседние файлы в папке Экзамен